Age | Commit message (Collapse) | Author |
|
OK guenther@
|
|
after discussions with beck deraadt kettenis.
|
|
don't need to be married.
ok guenther miod beck jsing kettenis
|
|
ok matthew@
|
|
(race condition ?)
problem noticed by me, aja, sthen, brynet, rpe.
vanishing after this revert, okay aja@, sthen@
tedu, you probably want to look into re-checking the fcreate/fpublish addition
first, then if it's stable, see about tweaking doopenat ?
|
|
struct ucred; struct process then directly links to the ucred
Based on a discussion at c2k10 or so before noting that FreeBSD and
NetBSD did this too.
ok matthew@
|
|
the first part is likely to fail, but we can generally prevent the second
part from failing.
use these two functions to drop the fdp lock around vn_open in sys_open,
but still maintain the original semantics of allocate then open.
the goal here is to fix the blocked fifo deadlock in a threaded program.
testing volunteers in short supply, resorting to conscription
|
|
|
|
|
|
use TAILQ_*_SAFE more than might be needed.
Bulk ports build by sthen@ showed nobody sticking their fingers
so deep into the kernel.
Feedback and suggestions from millert@. ok jsing@
|
|
|
|
|
|
Provide a declaration for userspace
Fix the kernel's sanity check on the buflen argument
lack of prototype pointed out by sthen@ and landry@
ok kettenis@ otto@
|
|
so COMPAT_O51 can go. The complete ABI role means COMPAT_O53 can
be removed as well.
ok jsing@ tedu@
|
|
members to 64bit types. Assign new syscall numbers for (almost
all) the syscalls that involve the affected types, including anything
with time_t, timeval, itimerval, timespec, rusage, dirent, stat,
or kevent arguments. Add a d_off member to struct dirent and replace
getdirentries() with getdents(), thus immensely simplifying and
accelerating telldir/seekdir. Build perl with -DBIG_TIME.
Bump the major on every single base library: the compat bits included
here are only good enough to make the transition; the T32 compat
option will be burned as soon as we've reached the new world are
are happy with the snapshots for all architectures.
DANGER: ABI incompatibility. Updating to this kernel requires extra
work or you won't be able to login: install a snapshot instead.
Much assistance in fixing userland issues from deraadt@ and tedu@
and build assistance from todd@ and otto@
|
|
ok kettenis@ mpi@ deraadt@ millert@ miod@ matthew@ beck@
|
|
O_* flags and eliminating an XXX comment.
ok matthew@ deraadt@
|
|
the special provided when the mount was requested. This may be the same as
the special that was actually used for the mount (e.g. in the case of a
device node) or it may be different (e.g. in the case of a DUID).
Whilst here, change f_ctime to a 64 bit type and remove the pointless
f_spare members.
Compatibility goo courtesy of guenther@
ok krw@ millert@
|
|
_before_ vrele()'ing the old one, so that you can't catch the process
with a vnode with no references.
Similarly, in checkdirs(), just count the needed releases and do
them all at the end. (I think I saw this in FreeBSD.)
Original problem encountered by landry@ (yay for backtrace)
ok tedu@ deraadt@
|
|
initialized. (In the case where it wasn't initialized, the computed
*retval ends up getting clobbered by the EINVAL error anyway so it's
not an info leak, but it's still technically undefined behavior.)
pointed out by Maxime Villard on tech
ok guenther
|
|
- Avoid using copyinstr() without checking the return value.
- sys_mount() has already copied the path in, so pass this to the
filesystem mount code so that it does not have to copy it in again.
- Avoid copyinstr()/bzero() dance when we can simply bzero() and strlcpy().
ok krw@
|
|
|
|
ref-count handling under handling, or blambert@ is messing with my head
|
|
ok matthew@ benno@
|
|
Having done that, dupfdopen() has to handle a possible race.
ok matthew@ krw@
|
|
when opening /dev/fd/* (i.e., UF_EXCLOSE is now set iff O_CLOEXEC is
set, rather than copying UF_EXCLOSE from the file descriptor being
dup'd).
Also, add support for O_CLOEXEC and O_DIRECTORY to fhopen().
ok krw, guenther; feedback from millert; testing and bug finding by krw
|
|
was used by the now defunct portalfs. Zero out fd_ofileflags[fd]
when allocating an fd instead of when releasing it.
ok krw@ matthew@
|
|
anticipation of further changes to closef(). No binary change.
ok krw@ miod@ deraadt@
|
|
structs timespec, timeval, sigaction, and rlimit.
ok otto@ jsing@
|
|
Pointed out by Alexander Polakov (polachok at gmail.com)
ok deraadt@
|
|
on them too
ok deraadt@, miod@
|
|
ok krw@ matthew@
|
|
futimens(2) system call, and refactor futimes(2) to share the same
code. (As with other openat(2) system call stuff, this is not exposed
to userland yet.)
naddy@ pointed out rsync expects UTIME_* if openat(2) is available
tweaks and ok guenther@; tested by naddy@ in a bulk build
|
|
use it.
ok tedu@, guenther@
|
|
symbolic links even when the AT_SYMLINK_NOFOLLOW flag is passed.
noticed by naddy@ testing gnulib
ok deraadt@ and presumably tedu@ (who wrote a similar diff)
|
|
to GENERIC, wrap compat_o48_sys_getdirentries() with an appropriate
#ifdef, and use struct compat_o48_sys_getdirentries_args instead of
struct sys_getdirentries_args.
|
|
sys_osigaltstack() is 7 years old and no longer needed; all glory to
the sys_sigaltstack()!
sys_ogetdirentries() is about 9 months old, but still acceptable
within our release cycle; move from STD to COMPAT_48 to make this
clearer for tedu@ next year.
sys_sbrk() and sys_sstk() are completely obsolete: all they do is
return ENOSYS.
ok guenther@
|
|
POSIX Issue 7.
Requested by oga@ (and maybe djm@); ok guenther@
|
|
struct sockaddress; mostly from freebsd. ok deraadt@ tedu@ nicm@
|
|
AT_SYMLINK_FOLLOW flags. Refactor sys_lstat to call dofstatat() with
AT_SYMLINK_NOFOLLOW. Fix sys_link() to use AT_SYMLINK_FOLLOW when
calling dolinkat().
Additionally, fix a bug in VOP_ACCESS() where we might sleep while not
holding a reference count on the ucred object we pass down.
ok tedu@
|
|
added in POSIX Issue 7: openat(), mknodat(), mkfifoat(), linkat(),
symlinkat(), unlinkat(), faccessat(), fstatat(), readlinkat(),
fchmodat(), fchownat(), utimensat(), renameat(), and mkdirat().
This diff mostly just refactors the existing sys_foo() logic into a
common dofooat() function that can then be called by both sys_foo()
and sys_fooat(). Some of the new system calls support new flags to
control their behavior, and proper support for these will be added in
subsequent diffs.
Incorporating suggestions from thib@, guenther@, and tedu@.
ok tedu@, thib@, deraadt@, guenther@
|
|
ok matthew@ tedu@
|
|
FREF()/FRELE() in lseek() so our struct file doesn't disappear in the
mean time.
Incorporating suggestions from tedu@ and guenther@; ok guenther@
|
|
disk drivers are now smart enough to handle this correctly, as they
need to also handle pread(2)/pwrite(2).
ok deraadt@, krw@; ok marco@ on an similar, earlier diff
|
|
so it works correctly with large offsets (and matches other systems).
This requires adding a new getdirentries syscall, with the old one
renamed to ogetdirentries. All in-tree consumers of getdirentries()
have been updated. Bump libc and libpthread major numbers.
OK and with deraadt@
|
|
causing problems, then it is nonsense to instead fail at the 2GB line.
Much more discussion needed.
|
|
diff. A bit of paranoia suggested by beck@.
|
|
otherwise truncation will occur on archs where LONG LONG and LONG
are not the same.
Noticed at n2k10. Error return suggested by deraadt@.
ok beck@ millert@ deraadt@ guenther@
|
|
4.3 compat code in mount. This is a flag day for those of you still running
4.3 BSD binaries on your vaxen. :)
ok deraadt dlg guenther thib
|
|
|