summaryrefslogtreecommitdiffstats
path: root/sys/amd64/linux32/syscalls.master
Commit message (Collapse)AuthorAgeFilesLines
* MFC 289769,289822,290143,290144:jhb2016-01-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename remaining linux32 symbols from linux_* to linux32_*. 289769: Rename remaining linux32 symbols such as linux_sysent[] and linux_syscallnames[] from linux_* to linux32_* to avoid conflicts with linux64.ko. While here, add support for linux64 binaries to systrace. - Update NOPROTO entries in amd64/linux/syscalls.master to match the main table to fix systrace build. - Add a special case for union l_semun arguments to the systrace generation. - The systrace_linux32 module now only builds the systrace_linux32.ko. module on amd64. - Add a new systrace_linux module that builds on both i386 and amd64. For i386 it builds the existing systrace_linux.ko. For amd64 it builds a systrace_linux.ko for 64-bit binaries. 289822: Fix build for the KTR-enabled kernels. 290143: Fix build with DEBUG defined. 290144: Update for LINUX32 rename. The assembler didn't complain about undefined symbols but just used 0 after the rename.
* o Fix SCTP ICMPv6 error message vulnerability. [SA-16:01.sctp]glebius2016-01-141-2/+2
| | | | | | | | | | | | | o Fix Linux compatibility layer incorrect futex handling. [SA-16:03.linux] o Fix Linux compatibility layer setgroups(2) system call. [SA-16:04.linux] o Fix TCP MD5 signature denial of service. [SA-16:05.tcp] o Fix insecure default bsnmpd.conf permissions. [SA-16:06.bsnmpd] Security: FreeBSD-SA-16:01.sctp, CVE-2016-1879 Security: FreeBSD-SA-16:03.linux, CVE-2016-1880 Security: FreeBSD-SA-16:04.linux, CVE-2016-1881 Security: FreeBSD-SA-16:05.tcp, CVE-2016-1882 Security: FreeBSD-SA-16:06.bsnmpd, CVE-2015-5677
* MFC r283492:dchagin2016-01-091-1/+1
| | | | Implement Linux specific syncfs() system call.
* MFC r283488:dchagin2016-01-091-2/+6
| | | | Implement recvmmsg() and sendmmsg() system calls.
* MFC r283484:dchagin2016-01-091-1/+1
| | | | Implement epoll_pwait() system call.
* MFC r283480:dchagin2016-01-091-1/+2
| | | | Add utimensat() system call.
* MFC r283467:dchagin2016-01-091-0/+2
| | | | | | Call nosys in case when the incorrect syscall number is specified. Its my fault, fixed by mjg@ at r289055.
* MFC r283465:dchagin2016-01-091-1/+2
| | | | | Add preliminary fallocate system call implementation to emulate posix_fallocate() function.
* MFC r283451:dchagin2016-01-091-1/+2
| | | | Implement ppoll() system call.
* MFC r283444:dchagin2016-01-091-2/+2
| | | | Implement eventfd system call.
* MFC r283441:dchagin2016-01-091-5/+8
| | | | | | | | | | | Implement epoll family system calls. This is a tiny wrapper around kqueue() to implement epoll subset of functionality. The kqueue user data are 32bit on i386 which is not enough for epoll user data, so we keep user data in the proc emuldata. Initial patch developed by rdivacky@ in 2007, then extended by Yuri Victorovich @ r255672 and finished by me in collaboration with mjg@ and jillies@.
* MFC r283428:dchagin2016-01-091-1/+2
| | | | | | | | | Change linux faccessat syscall definition to match actual linux one. The AT_EACCESS and AT_SYMLINK_NOFOLLOW flags are actually implemented within the glibc wrapper function for faccessat(). If either of these flags are specified, then the wrapper function employs fstatat() to determine access permissions.
* MFC r283403:dchagin2016-01-091-1/+3
| | | | Implement pselect6() system call.
* MFC r283401:dchagin2016-01-091-1/+4
| | | | Implement prlimit64() system call.
* MFC r283399:dchagin2016-01-091-1/+2
| | | | Implement dup3() system call.
* MFC r283396:dchagin2016-01-091-1/+2
| | | | Implement rt_sigqueueinfo() system call.
* MFC r283394:dchagin2016-01-091-1/+3
| | | | Implement waitid() system call.
* MFC r283379:dchagin2016-01-091-4/+4
| | | | | Implement a Linux version of sched_getparam() && sched_setparam(). Temporarily use the first thread in proc.
* MFC r283370:dchagin2016-01-091-2/+1
| | | | | | | | In preparation for switching linuxulator to the use the native 1:1 threads introduce linux_exit() stub instead of sys_exit() call (which terminates process). In the new linuxulator exit() system call terminates the calling thread (not a whole process).
* MFC r276508, r276509:dchagin2015-01-081-1/+1
| | | | Correct an argument status of wait4 syscall for Linuxulator.
* MFC r271743:bz2014-09-231-5/+7
| | | | | | | | | | | | | | | Implement most of timer_{create,settime,gettime,getoverrun,delete} for amd64/linux32. Fix the entirely bogus (untested) version from r161310 for i386/linux using the same shared code in compat/linux. It is unclear to me if we could support more clock mappings but the current set allows me to successfully run commercial 32bit linux software under linuxolator on amd64. Reviewed by: jhb Differential Revision: D784 Sponsored by: DARPA, AFRL Approved by: re (gjb)
* Revert r255672, it has some serious flaws, leaking file references etc.rdivacky2013-09-181-6/+4
| | | | Approved by: re (delphij)
* Implement epoll support in Linuxulator. This is a tiny wrapper around kqueuerdivacky2013-09-181-4/+6
| | | | | | | | | | | | | | to implement epoll subset of functionality. The kqueue user data are 32bit on i386 which is not enough for epoll user data so this patch overrides kqueue fileops to maintain enough space in struct file. Initial patch developed by me in 2007 and then extended and finished by Yuri Victorovich. Approved by: re (delphij) Sponsored by: Google Summer of Code Submitted by: Yuri Victorovich <yuri at rawbw dot com> Tested by: Yuri Victorovich <yuri at rawbw dot com>
* Remove use of non-ISO-C integer types from system call tables.ed2012-05-251-2/+2
| | | | | These files already use ISO-C-style integer types, so make them less inconsistent by preferring the standard types.
* Correct an argument type of iopl syscall for Linuxulator. This also fixesjkim2012-04-161-1/+1
| | | | a warning from Clang, i. e., "args->level < 0 is always false".
* Correct arguments of stat64, fstat64 and lstat64 syscalls for Linuxulator.jkim2012-04-161-6/+6
|
* - Implement pipe2 syscall for Linuxulator. This syscall appeared in 2.6.27jkim2012-04-161-2/+2
| | | | | | | | | | but GNU libc used it without checking its kernel version, e. g., Fedora 10. - Move pipe(2) implementation for Linuxulator from MD files to MI file, sys/compat/linux/linux_file.c. There is no MD code for this syscall at all. - Correct an argument type for pipe() from l_ulong * to l_int *. Probably this was the source of MI/MD confusion. Reviewed by: emulation
* - add comments to syscalls.master and linux(32)_dummy about which linuxnetchild2012-03-101-1/+55
| | | | | | | | | | kernel version introduced the sysctl (based upon a linux man-page) - add comments to sscalls.master regarding some names of sysctls which are different than the linux-names (based upon the linux unistd.h) - add some dummy sysctls - name an unimplemented sysctl MFC after: 1 month
* Implement linux_fadvise64() and linux_fadvise64_64() usingjhb2011-12-291-2/+5
| | | | | | | kern_posix_fadvise(). Reviewed by: silence on emulation@ MFC after: 2 weeks
* Make the Linux *at() calls a bit more complete.ed2011-11-191-2/+2
| | | | | | | Properly support: - AT_EACCESS for faccessat(), - AT_SYMLINK_FOLLOW for linkat().
* Improve *access*() parameter name consistency.ed2011-11-191-2/+2
| | | | | | | | | The current code mixes the use of `flags' and `mode'. This is a bit confusing, since the faccessat() function as a `flag' parameter to store the AT_ flag. Make this less confusing by using the same name as used in the POSIX specification -- `amode'.
* linux compat: add non-dummy capget and capset system callsavg2011-03-261-2/+4
| | | | | | | PR: kern/149168 Submitted by: John Wehle <john@feith.com> Reviewed by: netchild MFC after: 2 weeks
* add DTrace systrace support for linux32 and freebsd32 on amd64 syscallsavg2011-03-121-1/+1
| | | | | | | | | | This commits makes necessary changes in syscall/sysent generation infrastructure. PR: kern/152822 Submitted by: Artem Belevich <fbsdlist@src.cx> Reviewed by: jhb (ealier version) MFC after: 3 weeks
* The fourth argument of linux_clone is a pointer to the TLS. Change clone ↵dchagin2011-02-121-2/+1
| | | | syscall definition to match actual linux one.
* Change linux futex syscall definition to match actual linux one.dchagin2011-01-301-2/+2
| | | | MFC after: 1 Month.
* Fix typo.kib2010-10-081-1/+1
| | | | | Submitted by: arundel MFC after: 3 days
* Remove the linux_exec_copyin_args(), freebsd32_exec_copyin_args() maykib2010-07-231-2/+2
| | | | | | | server as well. COMPAT_FREEBSD32 is a prerequisite for COMPAT_LINUX32. Reviewed by: alc MFC after: 3 weeks
* Fix iovec32 for linux32/amd64.kib2008-11-291-4/+4
| | | | | | | | | | | Add a custom version of copyiniov() to deal with the 32-bit iovec pointers from userland (to be used later). Adjust prototypes for linux_readv() and linux_writev() to use new l_iovec32 definition and to match actual linux code. In particular, use ulong for fd (why ?). Submitted by: dchagin
* Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4.ed2008-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | Looking at our source code history, it seems the uname(), getdomainname() and setdomainname() system calls got deprecated somewhere after FreeBSD 1.1, but they have never been phased out properly. Because we don't have a COMPAT_FREEBSD1, just use COMPAT_FREEBSD4. Also fix the Linuxolator to build without the setdomainname() routine by just making it call userland_sysctl on kern.domainname. Also replace the setdomainname()'s implementation to use this approach, because we're duplicating code with sysctl_domainname(). I wasn't able to keep these three routines working in our COMPAT_FREEBSD32, because that would require yet another keyword for syscalls.master (COMPAT4+NOPROTO). Because this routine is probably unused already, this won't be a problem in practice. If it turns out to be a problem, we'll just restore this functionality. Reviewed by: rdivacky, kib
* Implement robust futexes. Most of the code is modelled afterrdivacky2008-05-131-2/+4
| | | | | | | | | | | what Linux does. This is because robust futexes are mostly userspace thing which we cannot alter. Two syscalls maintain pointer to userspace list and when process exits a routine walks this list waking up processes sleeping on futexes from that list. Reviewed by: kib (mentor) MFC after: 1 month
* Add stubs for syscalls introduced in Linux 2.6.17 kernel.jkim2008-04-161-0/+6
| | | | | | Some GNU libc version started using them before 2.6.17 was officially out. MFC after: 3 days
* Implement the linux syscallskib2008-04-081-13/+24
| | | | | | | | | openat, mkdirat, mknodat, fchownat, futimesat, fstatat, unlinkat, renameat, linkat, symlinkat, readlinkat, fchmodat, faccessat. Submitted by: rdivacky Sponsored by: Google Summer of Code 2007 Tested by: pho
* Implement sched_setaffinity and get_setaffinity usingrdivacky2008-03-161-1/+2
| | | | | | | real cpu affinity setting primitives. Reviewed by: jeff Approved by: kib (mentor)
* The kernel version of Linux statfs64 is actually supposed to takedwmalone2007-09-181-1/+1
| | | | | | | | | | | | | 3 arguments, but we had forgotten the second argument. Also make the Linux statfs64 struct depend on the architecture because it has an extra 4 bytes padding on amd64 compared to i386. The three argument fix is from David Taylor, the struct statfs64 stuff is my fault. With this patch I can install i386 Linux matlab on an amd64 machine. Submitted by: David Taylor <davidt_at_yadt.co.uk> Approved by: re (kensmith)
* Implement fake linux sched_getaffinity() syscall to enable java to workkib2007-08-281-1/+2
| | | | | | | | | | with Linux 2.6 emulation. This shall be reimplemented once FreeBSD gets native scheduler affinity syscalls. Submitted by: rdivacky Reviewed by: jkim Sponsored by: Google Summer of Code 2007 Approved by: re (kensmith)
* MFP4: Linux set_thread_area syscall (aka TLS) support for amd64.jkim2007-03-301-1/+1
| | | | | | Initial version was submitted by Divacky Roman and mostly rewritten by me. Tested by: emulation
* Implement the openat() linux syscalljulian2007-03-291-1/+2
| | | | | Submitted by: Roman Divacky (rdivacky@) MFC after: 2 weeks
* MFP4: 113033jkim2007-02-151-1/+1
| | | | Port iopl(2) from i386. This fixes LTP iopl01 and iopl02 on amd64.
* MFp4 (111746, 108671, 108945, 112352):netchild2006-12-311-2/+6
| | | | | | | | | - add linux utimes syscall [1] - add linux rt_sigtimedwait syscall [2] Submitted by: "Scot Hetzel" <swhetzel@gmail.com> [1] Submitted by: Bruce Becker <hostmaster@whois.gts.net> [2] PR: 93199 [2]
* Assign or clean up audit identifiers for a number of additional Linuxrwatson2006-12-291-18/+19
| | | | | | | | | system calls on the amd64 architecture. Some minor white space tweaks for consistency with other syscalls.master files. Obtained from: TrustedBSD Project
OpenPOWER on IntegriCloud