Age | Commit message (Collapse) | Author |
|
operating model". This is the kernel component; various changes should
proceed in-tree for a while before userland programs start using it.
ok miod, discussions and help from many
|
|
Input and ok millert@
|
|
followed by a mode check. This will simplify the ref/unref dance as
soon as fd_getfile() will increment fp's reference counter.
Idea from and ok guenther@, ok millert@
|
|
atime and mtime are UTIME_OMIT (at least for ufs, tmpfs, and ext2fs), and
to correctly handle a timestamp of -1.
ok millert@
|
|
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
|
objective: vnode.h doesn't include uvm_extern.h anymore.
followup changes: include uvm_extern.h or lock.h where necessary.
ok and help from deraadt
|
|
|
|
|
|
|
|
ok doug tedu
|
|
Both sys_mkfifo(2) and sys_mkfifoat(2) could be replace by libc wrappers
using mknodat(2) at a later date if we desire. OK guenther@
|
|
|
|
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@
|