| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
| |
Implement Linux specific syncfs() system call.
|
|
|
|
| |
Implement recvmmsg() and sendmmsg() system calls.
|
|
|
|
| |
Implement epoll_pwait() system call.
|
|
|
|
| |
Add utimensat() system call.
|
|
|
|
|
|
| |
Call nosys in case when the incorrect syscall number is specified.
Its my fault, fixed by mjg@ at r289055.
|
|
|
|
|
| |
Add preliminary fallocate system call implementation
to emulate posix_fallocate() function.
|
|
|
|
| |
Implement ppoll() system call.
|
|
|
|
| |
Implement eventfd system call.
|
|
|
|
|
|
|
|
|
|
|
| |
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@.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Implement pselect6() system call.
|
|
|
|
| |
Implement prlimit64() system call.
|
|
|
|
| |
Implement dup3() system call.
|
|
|
|
| |
Implement rt_sigqueueinfo() system call.
|
|
|
|
| |
Implement waitid() system call.
|
|
|
|
|
| |
Implement a Linux version of sched_getparam() && sched_setparam().
Temporarily use the first thread in proc.
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
Correct an argument status of wait4 syscall for Linuxulator.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
Approved by: re (delphij)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
These files already use ISO-C-style integer types, so make them less
inconsistent by preferring the standard types.
|
|
|
|
| |
a warning from Clang, i. e., "args->level < 0 is always false".
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
kern_posix_fadvise().
Reviewed by: silence on emulation@
MFC after: 2 weeks
|
|
|
|
|
|
|
| |
Properly support:
- AT_EACCESS for faccessat(),
- AT_SYMLINK_FOLLOW for linkat().
|
|
|
|
|
|
|
|
|
| |
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'.
|
|
|
|
|
|
|
| |
PR: kern/149168
Submitted by: John Wehle <john@feith.com>
Reviewed by: netchild
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
syscall definition to match actual linux one.
|
|
|
|
| |
MFC after: 1 Month.
|
|
|
|
|
| |
Submitted by: arundel
MFC after: 3 days
|
|
|
|
|
|
|
| |
server as well. COMPAT_FREEBSD32 is a prerequisite for COMPAT_LINUX32.
Reviewed by: alc
MFC after: 3 weeks
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Some GNU libc version started using them before 2.6.17 was officially out.
MFC after: 3 days
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
real cpu affinity setting primitives.
Reviewed by: jeff
Approved by: kib (mentor)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
| |
Initial version was submitted by Divacky Roman and mostly rewritten by me.
Tested by: emulation
|
|
|
|
|
| |
Submitted by: Roman Divacky (rdivacky@)
MFC after: 2 weeks
|
|
|
|
| |
Port iopl(2) from i386. This fixes LTP iopl01 and iopl02 on amd64.
|
|
|
|
|
|
|
|
|
| |
- 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]
|
|
|
|
|
|
|
|
|
| |
system calls on the amd64 architecture.
Some minor white space tweaks for consistency with other syscalls.master
files.
Obtained from: TrustedBSD Project
|