summaryrefslogtreecommitdiff
path: root/sys/compat
AgeCommit message (Collapse)Author
2012-06-26Don't ignore SOCK_CLOEXEC and SOCK_NONBLOCK.Paul Irofti
CAVEATS: Assumes that a new socket can't have any of the FCNTLFLAGS set on it, which _is_ true, currently... (guenther@) Okay guenther@, deraadt@.
2012-06-20Copy the set_tls_base flag when forking.Paul Irofti
This enables the linux_child_return bits that set the TLS base in the newly forked process. Before this, processes that had the flag set would get a null pointer and segfault when trying to access the TLS area. Chased down and fixed by me. Turned into a proper one line diff by guenther@.
2012-06-19Count should always start from zero.Paul Irofti
Doesn't matter if we need to relocate or not. Makes sense to jasper@
2012-06-19Set the appropiate return value on futex wait.Paul Irofti
Okay jasper@
2012-06-19Avoid eternal sleep.Paul Irofti
Sleep on the actual data address and not on the stack address of the pointer to the data. Okay jasper@
2012-06-19Add extra argument validation for the futex syscall.Paul Irofti
Okay jasper@
2012-06-19- remove outdated comment, we already do an equivalent of linux' access_ok()Jasper Lievisse Adriaanse
using copyin() anyway. ok pirofti@
2012-06-19Regenerate.Paul Irofti
2012-06-19Implement linux_sys_tgkill.Paul Irofti
Nobody calls linux_sys_tkill anymore so code for that is not needed. If this will become an issue in the future a simple wrapper will fix that. Okay jasper@.
2012-06-19Regenerate.Paul Irofti
2012-06-19Add dummies for the epoll and eventfd syscall families.Paul Irofti
Okay jasper@
2012-06-19Add socket type mask to filter out implementation specific flags.Paul Irofti
The newer glibc's, when creating a socket, add some higher bit flags to the type argument that are used for debug, statistics, profiling whatever. They are not useful and implementation specific. This is needed for DNS resolving, otherwise the nss library from glibc will always fail to do the right thing. Okay jasper@
2012-06-19Improve debug output and fix some style. No functional change.Paul Irofti
2012-06-19Change the pool_get() flags from WAITOK to NOWAIT.Paul Irofti
This avoids a potential lost-wakeup as pointed out by guenther@. Now the futex is locked all through the process and EAGAIN is returned on failure. Makes sense to guenther@.
2012-06-16compat_linux: Don't hold the lock while pool_get'ing with WAITOK.Paul Irofti
Okay jasper@.
2012-06-08RegeneratePaul Irofti
2012-06-08Remove the lack of gettid() implementation. Okay tedu@Paul Irofti
Looks right to jasper@ as well.
2012-05-25Change the KERN_FILE_BYPID and KERN_FILE_BYUID modes of the KERN_FILE2Philip Guenthe
sysctl() to be per-process instead of per-thread. This means the filedesc table has to really be per-process instead of per-thread, so make it an error for the linux clone() emulation to try to do otherwise. This removes pointless duplication in fstat's output. requested by jsing@ and deraadt@, ok matthew@ deraadt@
2012-05-24If LINUX_CLONE_SETTLS isn't set, then the clone()d child should inheritPhilip Guenthe
the TCB value from the parent instead of having it zeroed. ok pirofti@
2012-05-23Regenerate.Paul Irofti
2012-05-23Add emulation support for fstatfs64.Paul Irofti
Okay matthew@.
2012-05-23Regenerate.Paul Irofti
2012-05-23Add support for statfs64.Paul Irofti
While at it get rid of some magic numbers and add support for more filesystem types (like NTFS, AFS etc.). Suggestions and feedback from ajacoutot@, jsing@ and matthew@. Okay matthew@.
2012-04-22Add struct proc * argument to FRELE() and FILE_SET_MATURE() inPhilip Guenthe
anticipation of further changes to closef(). No binary change. ok krw@ miod@ deraadt@
2012-04-12rfork cleanupPhilip Guenthe
2012-04-10Make the KERN_NPROCS and KERN_MAXPROC sysctl()s and the RLIMIT_NPROC rlimitPhilip Guenthe
count processes instead of threads. New sysctl()s KERN_NTHREADS and KERN_MAXTHREAD count and limit threads. The nprocs and maxproc kernel variables are replaced by nprocess, maxprocess, nthreads, and maxthread. ok tedu@ mikeb@
2012-03-23Make rusage totals, itimers, and profile settings per-process insteadPhilip Guenthe
of per-rthread. Handling of per-thread tick and runtime counters inspired by how FreeBSD does it. ok kettenis@
2011-12-14regenRobert Nagy
2011-12-14implement prctl() for COMPAT_LINUXRobert Nagy
ok pirofti@
2011-12-03add support for MSG_NOSIGNAL.Federico G. Schwindt
linux bits compiled on i386 by sebastia@, mikeb@ ok
2011-11-25implement chown(2) in compat_linux which is needed by some antivirus softwareRobert Nagy
ok pirofti@
2011-10-27Allow segments to be used even after they were marked for deletion withRobert Nagy
the IPC_RMID flag. This is permitted as an extension beyond the standards and this is similar to what other operating systems like linux do. Because compat_linux(8) was emulating this already, remove that code since now this is the default. input from oga@, guenther@, jmc@, deraadt@ ok deraadt@
2011-09-19Gah, no cookie for me.Paul Irofti
2011-09-19Fix comments, they really made sense before splitting them.Paul Irofti
Noticed by fgs@, thanks!
2011-09-19Regenerate after pipe2.Paul Irofti
2011-09-19Add pipe2. Okay miod@Paul Irofti
2011-09-19Fix Unix socket handling when the length is too large by trimming.Paul Irofti
Okay claudio@
2011-09-19Regenerate after syscall expansion.Paul Irofti
2011-09-19Expand syscall awareness in preparation for pipe2 implementation.Paul Irofti
2011-09-18Regenerate after the futex commit.Paul Irofti
2011-09-18Add futex support for compat/linux.Paul Irofti
Based on Emmanuel Dreyfus work with additions, tricks and adaptations by me. Lots of help and reviewing by guenther@ and oga@. Okay guenther@.
2011-08-03Fix linux compat breakage: can't copyin() from kernel-space, soPhilip Guenthe
move that out of i386_set_threadbase(), and have clone() pass NULL to fork1() for the child func argument so that it gets the child proc pointer. Report and verification by pirofti@, heavy lifting by matthew@
2011-07-14syncMatthew Dempsky
2011-07-14Fix entry 84 to use the same prototype for linux_sys_lstat() as entryMatthew Dempsky
107 does (i.e., using a pointer to "struct linux_stat" rather than a pointer to "struct stat43"). No binary change: entry 84 is "NOARGS" so the prototype only goes into a comment in linux_syscall.h.
2011-07-09begone, fucking rotten appletalk shit. ok roomHenning Brauer
2011-07-09syncTheo de Raadt
2011-07-09Remove COMPAT_25. The one piece moved by COMPAT_LINUX moves there.Theo de Raadt
ok guenther
2011-07-08regen syscallsTed Unangst
2011-07-08remove all traces of COMPAT_09 and COMPAT_10. ok deraadtTed Unangst
2011-07-08vm_43.c somehow escaped when its coconspirators were rounded up.Ted Unangst