Age | Commit message (Collapse) | Author |
|
Tests on a 4-core CPU show setjmp(3) run four times as fast under load.
discussed on tech@ some time ago, now by kettenis and guenther, ok deraadt
|
|
optval is not valid. Found by Maxime Villard. OK bluhm@
|
|
This allows us the unmap the initial part of the stack, such that it can't
be used as a staging area for ROP (or other) attacks.
ok guenther@, tedu@
|
|
|
|
for a couple decades. Keep the OSIOCGIFCONF ioctl to support COMPAT_LINUX
but move the rest of the Linux-specific ioctl() handling into linux_socket.c
This lets struct osockaddr finally move from sys/socket.h to protocols/talkd.h
ok krw@ deraadt@ mpi@
|
|
sys_socket() supports SOCK_{CLOEXEC,NONBLOCK} now, so build on that.
doaccept() supports the non-inheriting-of-O_NONBLOCK, so build on that.
Merge compat_sys_{accept,send,recv}() into their only callers.
Lie a little and use struct sockaddr in the linux socket syscall args when
it's a return argument to avoid a bunch a casts.
Delete many other unnecessary sockaddr casts
verified with a curl Linux binary
|
|
|
|
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 mikeb@, krw@, bluhm@, tedu@
|
|
PROT_NONE, PROT_READ, PROT_WRITE, and PROT_EXEC from mman.h.
PROT_MASK is introduced as the one true way of extracting those bits.
Remove UVM_ADV_* wrapper, using the standard names.
ok doug guenther kettenis
|
|
Compiles on i386, which is the only architecture where COMPAT_LINUX is
enabled at the moment.
"If it compiles, go ahead" pirofti@
|
|
ok mpi@ kspillner@
|
|
From Maxime Villard via a post to tech@ a long time ago
ok guenther@, doug@
|
|
months that I broke it before the 5.5 release.
confirmed as not being required by ports by sthen@, ajacoutot@, dcoppa@
|
|
|
|
|
|
discussion, help and ok guenther@
|
|
ok guenther@
|
|
after discussions with beck deraadt kettenis.
|
|
|
|
Pointed out by deraadt
|
|
localhost connections.
The plan is to always use the routing table for addresses and routes
resolutions, so there is no future for an option that wants to bypass
it. This option has never been implemented for IPv6 anyway, so let's
just remove the IPv4 bits that you weren't aware of.
Tested a least by lteo@, guenther@ and chrisz@, ok mikeb@, benno@
|
|
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@
|
|
for localhost connections. discussed with deraadt@
|
|
use the routing table there's no future for an option that wants to
bypass it. This option has never been implemented for IPv6 anyway,
so let's just remove the IPv4 bits that you weren't aware of.
Tested by florian@, man pages inputs from jmc@, ok benno@
|
|
Tweak the handling of ktrace EMUL when changing ktracing: only
generate one per process (not one per thread) and pass the correct
proc pointer down to the VFS layer. Permit generating of NAMI and
CSW records inside ktrace(2) itself.
ok deraadt@ millert@
|
|
included there
|
|
find the link-layer address of an interface, use the pointer to
the sockaddr_dl already present in the interface's descriptor.
Tested for regression by pirofti@ with opera.
|
|
Linux-compat clone() syscall when *not* using CLONE_THREAD. pirofti@
confirms Opera runs in compat without this, so out it goes; one less hair
to choke on in kern_exit.c
ok tedu@ pirofti@
|
|
Use intptr_t for such cases.
More casts/types should be improved in this file.
Tested with syscall regression tests from IBM.
|
|
|
|
|
|
make it a list of processes, and change P_NOZOMBIE and P_STOPPED from thread
flags to process flags. Add allprocess list for the code that just wants
to see processes.
ok tedu@
|
|
convert to ANSI protos while here
|
|
|
|
Pointed out by LLVM.
ok pirofti@
|
|
|
|
|
|
|
|
a.out removal led to linux_sys_uselib being obsoleted.
|
|
Tested with the syscall regression test suite from IBM and Opera.
Requested by deraadt@.
|
|
The non-cookie path was probably always broken and never used.
The file descriptor offset was never updated after a read so glibc and
other syscall consumers would end-up in an infinite loop.
Tested with the syscalls regression suite from IBM and with opera.
|
|
|
|
binary to change the system time?
ok pirofti@
|
|
|
|
- add Linux versions of struct rusage, timeval, and itimerval and
conversion functions for them
- add Linux versions of getrusage(), gettimeofday(), {set,get}itimer(),
and nanosleep()
- fix various inconsistencies in naming of Linux versions of types
and conversion functions
- add mappings for LINUX_CLOCK_{PROCESS,THREAD}_CPUTIME_ID to the
native versions
Originally written months ago as part of the time_t work; long
memory, prodding, and ok from pirofti@
|
|
so this old compat is dead
|
|
|
|
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@
|
|
Reviewed by guenther@.
|