#
427db2c4 |
|
15-May-2024 |
Ricardo Branco <rbranco@suse.de> |
linux: Fix linux_mq_notify_args & linux_timer_create_args Reviewed by: imp, kib Pull Request: https://github.com/freebsd/freebsd-src/pull/1248
|
#
5b31cc94 |
|
23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sccs: Manual changes For the uncommon items: Go through the tree and remove sccs tags that didn't fit any nice pattern. If in the neighborhood, other SCM tags were removed when they were detritis of long-ago CVS somehow in the early mists of the project. Some adjacent copyrights stringswere removed (they duplicated the copyright notices in the file). This also removed non-standard formations of omission of SCCS tags (usually by adding an extra #if 0 somewhere. After this commit, a number of strings tagged with the 'what' @(#) prefix remain, but they are primarily copyright notices. Sponsored by: Netflix
|
#
8e523be5 |
|
03-Oct-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Deorbit linux_nosys from syscalls.master Differential Revision: https://reviews.freebsd.org/D41902 MFC after: 1 week
|
#
0a16d3d1 |
|
24-Sep-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Update syscalls.master to 6.5 MFC after: 1 week
|
#
5585afe6 |
|
20-Aug-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Prepare to retire linux32_copyinuio MFC after: 1 month
|
#
aad4b799 |
|
20-Aug-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Add a writev syscall wrapper Adding a writev syscall wrapper is needed due to Linux family of write syscalls doesn't distinguish between in kernel blocking operations and always returns EAGAIN while FreeBSD can return ENOBUFS. MFC after: 1 month
|
#
510f5c88 |
|
20-Aug-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Modify write syscall to match Linux Adding a write syscall wrapper is needed due to Linux family of write syscalls doesn't distinguish between in kernel blocking operations and always returns EAGAIN while FreeBSD can return ENOBUFS. MFC after: 1 month
|
#
5068387f |
|
17-Aug-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Use l_off_t type for offset argument in sendfile syscall The off_t on Linux is a long, so it's non-functional change, just to avoid confusing future readers. MFC after: 1 month
|
#
78d14616 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line bare tag Remove /^\s*\$FreeBSD\$$\n/
|
#
1c83154e |
|
04-Aug-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Modify ioprio syscalls to match Linux MFC after: 1 month
|
#
41f2c69e |
|
22-Jul-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Modify xattr syscalls to match Linux MFC after: 1 month
|
#
8340b034 |
|
28-May-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Add a dedicated linux_exec_copyin_args() Because Linux allows to exec binaries with 0 argc. Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D40148 MFC after: 2 month
|
#
ca3333dd |
|
28-Apr-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Use Linux dev_t type for mknod syscalls dev argument As of version 2.6.0 of the Linux kernel, dev_t is a 32-bit unsigned integer on all platforms. Prior the 2.6 kernel dev_t type was an unsigned short. However, since the firs commit of the Linuxulator, mknod syscall get int dev argument. Also, there is some confusion here, while the kernel declares a dev_t type as a 32-bit sized, the user-space dev_t type can be size of 64 bits, e.g., in the Glibc library. To avoid confusion and to help porting of the Linuxulator to other platforms use explicit l_dev_t for dev argument of mknod syscalls.
|
#
2370c732 |
|
28-Apr-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Update syscalls.master to reflect struct l_old_stat
|
#
559b94a1 |
|
20-Apr-2023 |
Warner Losh <imp@FreeBSD.org> |
syscall.master: Fix comments Have more accruate comments. While #if, #else, etc are copied to the header files, lines that don't start with # are not. And #include files are only output to sysinc (which winds up at the front of init_sysent.c which seems a bit odd). This is all radically undocumented, and likely has drifted somewhat from 4.4BSD and what other systems do (they've drifted too, fwiw). Sponsored by: Netflix
|
#
1c27dce1 |
|
04-Apr-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Modify close_range syscall to match Linux MFC after: 2 weeks
|
#
bfae7fba |
|
09-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Fix 039e98e6. The patch was about an year in my local queue and I still screwed up... MFC after: 2 weeks
|
#
039e98e6 |
|
09-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change prctl syscall definition to match Linux actual one. Otherwise argX conversion leads to an unexpected behaviour. MFC after: 2 weeks
|
#
94f5f150 |
|
08-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Fix ppoll_time64 syscall definition. Fixed my typo in ed61e0ce1d. Here tsp is a pointer to the 64-bit timespec. MFC after: 2 weeks
|
#
f19c4e23 |
|
06-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change semtimedop syscall definition to match Linux actual one. MFC after: 2 weeks
|
#
17ccda00 |
|
04-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change recvmmsg_time64 syscall definition to match Linux actual one. MFC after: 2 weeks
|
#
16aefe5b |
|
04-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change timerfd_gettime64 syscall definition to match Linux actual one. MFC after: 2 weeks
|
#
8545bcff |
|
04-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change timerfd_settime64 syscall definition to match Linux actual one. MFC after: 2 weeks
|
#
1508b1b6 |
|
04-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change timer_settime64 syscall definition to match Linux actual one. MFC after: 2 weeks
|
#
ccec9603 |
|
04-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change timer_gettime64 syscall definition to match Linux actual one. MFC after: 2 weeks
|
#
7b520c0b |
|
04-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change sched_rr_get_interval_time64 syscall definition to match Linux actual one. MFC after: 2 weeks
|
#
81b0b7dc |
|
26-Apr-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change epoll_pwait2 syscall definition to match Linux actual one. MFC after: 2 weeks
|
#
f202f35d |
|
26-Apr-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change rseq syscall definition to match Linux actual one. MFC after: 2 weeks
|
#
17913b0b |
|
12-Aug-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement clone3 system call. clone3 system call is used by glibc-2.34. Differential revision: https://reviews.freebsd.org/D31475 MFC after: 2 weeks
|
#
f1c45049 |
|
12-Aug-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change clone syscall definition to match Linux actual one. Differential revision: https://reviews.freebsd.org/D31473 MFC after: 2 weeks
|
#
13d79be9 |
|
12-Aug-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement faccessat2 system call. It's used by bash on arm64 with glibc-2.32. Reviewed by: trasz Differential Revision: https://reviews.freebsd.org/D31345 MFC after: 2 weeks
|
#
2eff670f |
|
21-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement poll system call via linux_common_ppol() for the sake of converting events to/from native. MFC after: 2 weeks
|
#
ed61e0ce |
|
10-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement ppoll_time64 system call. MFC after: 2 weeks
|
#
f6d075ec |
|
10-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement pselect6_time64 system call. MFC after: 2 weeks
|
#
db4a1f33 |
|
10-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement rt_sigtimedwait_time64 system call. It still does not work as intended, awaits D30675. MFC after: 2 weeks
|
#
2e46d0c3 |
|
10-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement futex_time64 system call. MFC after: 2 weeks
|
#
3c1de151 |
|
10-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Change Linux futex syscall definition to match Linux actual one. MFC after: 2 weeks
|
#
0f8dab45 |
|
06-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Fix timeout parameter of rt_sigtimedwait syscall, which is timespec not a timeval. MFC after: 2 weeks
|
#
6501370a |
|
06-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement clock_nanosleep_time64 system call. MFC after: 2 weeks
|
#
187715a4 |
|
06-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement clock_getres_time64 system call. MFC after: 2 weeks
|
#
19f9a0e4 |
|
06-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement clock_settime64 system call. MFC after: 2 weeks
|
#
99b6f430 |
|
06-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement clock_gettime64 system call. MFC after: 2 weeks
|
#
e4bffb80 |
|
06-Jun-2021 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Implement utimensat_time64 system call. MFC after: 2 weeks
|
#
6d926e85 |
|
28-May-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
linux: add new syscall numbers Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D30193
|
#
de774e42 |
|
17-Nov-2020 |
Conrad Meyer <cem@FreeBSD.org> |
linux(4): Implement name_to_handle_at(), open_by_handle_at() They are similar to our getfhat(2) and fhopen(2) syscalls. Differential Revision: https://reviews.freebsd.org/D27111
|
#
8d1d0171 |
|
18-Jul-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add a trivial linux(4) splice(2) implementation, which simply returns EINVAL. Fixes grep (grep-3.1-2build1). PR: kern/218699 Reported by: avos Reviewed by: emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25636
|
#
308e194c |
|
27-Jun-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add proper types for linux message queue syscalls; mostly taken from 32-bit Linuxulator. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25386
|
#
36507f85 |
|
27-Jun-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add syscall definitions for linux xattr syscalls. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25387
|
#
5ac26742 |
|
21-Jun-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Adapt linuxulator syscalls.master files to the new layout. No functional changes. Reviewed by: brooks MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25381
|
#
52c81be1 |
|
20-Jun-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Add linux_madvise(2) instead of having Linux apps call the native FreeBSD madvise(2) directly. While some of the flag values match, most don't. PR: kern/230160 Reported by: markj Reviewed by: markj Discussed with: brooks, kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D25272
|
#
fc7510ae |
|
05-Feb-2020 |
Ed Maste <emaste@FreeBSD.org> |
linuxulator: implement sendfile Submitted by: Bora Özarslan <borako.ozarslan@gmail.com> Submitted by: Yang Wang <2333@outlook.jp> Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19917
|
#
149afbf3 |
|
21-Jan-2020 |
Mark Johnston <markj@FreeBSD.org> |
Fix 64-bit syscall argument fetching in 32-bit Linux syscall handlers. The Linux32 system call argument fetcher places each argument (passed in registers in the Linux x86 system call convention) into an entry in the generic system call args array. Each member of this array is 8 bytes wide, so this approach is broken for system calls that take off_t arguments. Fix the problem by splitting l_loff_t arguments in the 32-bit system call descriptions, the same as we do for FreeBSD32. Change entry points to handle this using the PAIR32TO64 macro. Move linux_ftruncate64() into compat/linux. PR: 243155 Reported by: Alex S <iwtcex@gmail.com> Reviewed by: kib (previous version) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23210
|
#
a8bfc7a8 |
|
31-Dec-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Fix definitions for Linux getcpu(2). MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
|
#
0610f417 |
|
14-Dec-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Fix definitions for linuxulator's sync_file_range(2). Reviewed by: brooks, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D22371
|
#
427b1bae |
|
10-Sep-2019 |
Ed Maste <emaste@FreeBSD.org> |
make linux_renameat2 args consistent with linux_renameat Use 'dfd' consistently for a directory fd.
|
#
c034ecf3 |
|
23-Apr-2019 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Since r339624 HEAD does not need for backslashes in syscalls.master, however to make a merge r345471 to the stable add backslashes to the syscalls.master. MFC after: 3 days
|
#
f730d606 |
|
24-Mar-2019 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Update syscall.master to 5.0. For 32-bit Linuxulator, ipc() syscall was historically the entry point for the IPC API. Starting in Linux 4.18, direct syscalls are provided for the IPC. Enable it. MFC after: 1 month
|
#
7dabf89b |
|
24-Mar-2019 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Linux between 4.18 and 5.0 split IPC system calls. In preparation for doing this in the Linuxulator modify our linux_shmat() to match actual Linux shmat() system call. MFC after: 1 month
|
#
6469bdcd |
|
06-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Move most of the contents of opt_compat.h to opt_global.h. opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is closer to "just about everywhere" than "only some files" per the guidance in sys/conf/options. Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset of sys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.h is created on all architectures. Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control the set of compiled files. Reviewed by: kib, cem, jhb, jtl Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14941
|
#
315fbaec |
|
23-Feb-2018 |
Ed Maste <emaste@FreeBSD.org> |
Correct pseudo misspelling in sys/ comments contrib code and #define in intel_ata.h unchanged.
|
#
eae594f7 |
|
21-Feb-2018 |
Ed Maste <emaste@FreeBSD.org> |
Correct proper nouns in the Linuxulator - Capitalize Linux - Spell FreeBSD out in full - Address some style(9) on changed lines Sponsored by: Turing Robotic Industries Inc.
|
#
132f90c6 |
|
05-Feb-2018 |
Ed Maste <emaste@FreeBSD.org> |
Linuxolator whitespace cleanup A version of each of the MD files by necessity exists for each CPU architecture supported by the Linuxolator. Clean these up so that new architectures do not inherit whitespace issues. Clean up shared Linuxolator files while here. Sponsored by: Turing Robotic Industries Inc.
|
#
5cd667e6 |
|
28-Nov-2017 |
Brooks Davis <brooks@FreeBSD.org> |
Disable vim syntax highlighting. Vim's default pick doesn't understand that ';' is a comment character and the result looks horrible. Reviewed by: emaste
|
#
8049c6bf |
|
06-Mar-2017 |
Mahdi Mokhtari <mmokhi@FreeBSD.org> |
Add UNIMPLEMENTED() placeholder macro for the syscalls that are not implemented in Linux kernel itself. Cleanup DUMMY() macros. Reviewed by: dchagin, trasz Approved by: dchagin MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D9804
|
#
f8ae1bb6 |
|
26-Feb-2017 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Change Linux epoll_pwait syscall definition to match Linux actual one. MFC after: 1 month
|
#
1064d53f |
|
26-Feb-2017 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Change Linuxulator timerfd syscalls definition to match actual Linux one. MFC after: 1 month
|
#
8b756d40 |
|
05-Feb-2017 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Update syscall.master to 4.10-rc6. Also fix comments, a typo, and wrong numbering for a few unimplemented syscalls. For 32-bit Linuxulator, socketcall() syscall was historically the entry point for the sockets API. Starting in Linux 4.3, direct syscalls are provided for the sockets API. Enable it. The initial version of patch was provided by trasz@ and extended by me. Submitted by: trasz MFC after: 2 week Differential Revision: https://reviews.freebsd.org/D9381
|
#
23e8912c |
|
10-Jul-2016 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement Linux personality() system call mainly due to READ_IMPLIES_EXEC flag. In Linux if this flag is set, PROT_READ implies PROT_EXEC for mmap(). Linux/i386 set this flag automatically if the binary requires executable stack. READ_IMPLIES_EXEC flag will be used in the next Linux mmap() commit.
|
#
8cc96fb4 |
|
21-May-2016 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Correct an argument param of linux_sched_* system calls as a struct l_sched_param does not defined due to it's nature. MFC after: 1 week
|
#
99546279 |
|
20-Mar-2016 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement fstatfs64 system call. PR: 181012 Submitted by: John Wehle MFC after: 1 week
|
#
037f7508 |
|
14-Jan-2016 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Change linux get_robust_list system call to match actual linux one. The set_robust_list system call request the kernel to record the head of the list of robust futexes owned by the calling thread. The head argument is the list head to record. The get_robust_list system call should return the head of the robust list of the thread whose thread id is specified in pid argument. The list head should be stored in the location pointed to by head argument. In contrast, our implemenattion of get_robust_list system call copies the known portion of memory pointed by recorded in set_robust_list system call pointer to the head of the robust list to the location pointed by head argument. So, it is possible for a local attacker to read portions of kernel memory, which may result in a privilege escalation. Submitted by: mjg Security: SA-16:03.linux
|
#
2f99bcce |
|
22-Oct-2015 |
John Baldwin <jhb@FreeBSD.org> |
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. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D3954
|
#
9802eb9e |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement Linux specific syncfs() system call.
|
#
e1ff74c0 |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement recvmmsg() and sendmmsg() system calls.
|
#
6e4c8004 |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement epoll_pwait() system call.
|
#
19d8b461 |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Add utimensat() system call. The patch developed by Jilles Tjoelker and Andrew Wilcox and adopted for lemul branch by me.
|
#
fcdffc03 |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Call nosys in case when the incorrect syscall number is specified. Reported by: trinity
|
#
b6aeb7d5 |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Add preliminary fallocate system call implementation to emulate posix_fallocate() function. Differential Revision: https://reviews.freebsd.org/D1523 Reviewed by: emaste
|
#
a6b40812 |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement ppoll() system call. Differential Revision: https://reviews.freebsd.org/D1105 Reviewed by: trasz
|
#
a31d7686 |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement eventfd system call. Differential Revision: https://reviews.freebsd.org/D1094 In collaboration with: Jilles Tjoelker
|
#
e16fe1c7 |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
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@. Differential Revision: https://reviews.freebsd.org/D1092
|
#
baa232bb |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
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. Differential Revision: https://reviews.freebsd.org/D1078 Reviewed by: trasz
|
#
ae50b4d7 |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement pselect6() system call. Differential Revision: https://reviews.freebsd.org/D1051 Reviewed by: trasz
|
#
c3978c7b |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement prlimit64() system call. Differential Revision: https://reviews.freebsd.org/D1050 Reviewed by: emaste, trasz
|
#
254a937e |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement dup3() system call. Differential Revision: https://reviews.freebsd.org/D1049 Reviewed by: emaste
|
#
7ac9766d |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement rt_sigqueueinfo() system call. Differential Revision: https://reviews.freebsd.org/D1047 Reviewed by: trasz
|
#
e5fe4ccf |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement waitid() system call. Differential Revision: https://reviews.freebsd.org/D1046
|
#
2003907d |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Implement a Linux version of sched_getparam() && sched_setparam(). Temporarily use the first thread in proc. Differential Revision: https://reviews.freebsd.org/D1036 Reviewed by: trasz
|
#
161acbb6 |
|
24-May-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
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). Differential Revision: https://reviews.freebsd.org/D1027 Reviewed by: trasz
|
#
01610383 |
|
01-Jan-2015 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Correct an argument status of wait4 syscall for Linuxulator. MFC after: 1 week
|
#
0a041f3b |
|
18-Sep-2014 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
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 MFC after: 3 days Sponsored by: DARPA, AFRL
|
#
b12698e1 |
|
18-Sep-2013 |
Roman Divacky <rdivacky@FreeBSD.org> |
Revert r255672, it has some serious flaws, leaking file references etc. Approved by: re (delphij)
|
#
253c75c0 |
|
18-Sep-2013 |
Roman Divacky <rdivacky@FreeBSD.org> |
Implement epoll support in Linuxulator. 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 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>
|
#
520b6a84 |
|
25-May-2012 |
Ed Schouten <ed@FreeBSD.org> |
Remove use of non-ISO-C integer types from system call tables. These files already use ISO-C-style integer types, so make them less inconsistent by preferring the standard types.
|
#
f69f4d86 |
|
16-Apr-2012 |
Jung-uk Kim <jkim@FreeBSD.org> |
Correct an argument type of iopl syscall for Linuxulator. This also fixes a warning from Clang, i. e., "args->level < 0 is always false".
|
#
db8eb180 |
|
16-Apr-2012 |
Jung-uk Kim <jkim@FreeBSD.org> |
Correct arguments of stat64, fstat64 and lstat64 syscalls for Linuxulator.
|
#
d69a426f |
|
16-Apr-2012 |
Jung-uk Kim <jkim@FreeBSD.org> |
- Implement pipe2 syscall for Linuxulator. This syscall appeared in 2.6.27 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
|
#
048e874f |
|
10-Mar-2012 |
Alexander Leidinger <netchild@FreeBSD.org> |
- add comments to syscalls.master and linux(32)_dummy about which linux 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
|
#
dd01579c |
|
29-Dec-2011 |
John Baldwin <jhb@FreeBSD.org> |
Implement linux_fadvise64() and linux_fadvise64_64() using kern_posix_fadvise(). Reviewed by: silence on emulation@ MFC after: 2 weeks
|
#
767a3264 |
|
19-Nov-2011 |
Ed Schouten <ed@FreeBSD.org> |
Make the Linux *at() calls a bit more complete. Properly support: - AT_EACCESS for faccessat(), - AT_SYMLINK_FOLLOW for linkat().
|
#
d3a993d4 |
|
18-Nov-2011 |
Ed Schouten <ed@FreeBSD.org> |
Improve *access*() parameter name consistency. 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'.
|
#
1f4ec5a3 |
|
26-Mar-2011 |
Andriy Gapon <avg@FreeBSD.org> |
linux compat: add non-dummy capget and capset system calls PR: kern/149168 Submitted by: John Wehle <john@feith.com> Reviewed by: netchild MFC after: 2 weeks
|
#
56ede107 |
|
12-Mar-2011 |
Andriy Gapon <avg@FreeBSD.org> |
add DTrace systrace support for linux32 and freebsd32 on amd64 syscalls 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
|
#
f91ea251 |
|
12-Feb-2011 |
Dmitry Chagin <dchagin@FreeBSD.org> |
The fourth argument of linux_clone is a pointer to the TLS. Change clone syscall definition to match actual linux one.
|
#
8d73c2bf |
|
30-Jan-2011 |
Dmitry Chagin <dchagin@FreeBSD.org> |
Change linux futex syscall definition to match actual linux one. MFC after: 1 Month.
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
5d2a6a61 |
|
08-Oct-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Fix typo. Submitted by: arundel MFC after: 3 days
|
#
0b53d156 |
|
23-Jul-2010 |
Konstantin Belousov <kib@FreeBSD.org> |
Remove the linux_exec_copyin_args(), freebsd32_exec_copyin_args() may server as well. COMPAT_FREEBSD32 is a prerequisite for COMPAT_LINUX32. Reviewed by: alc MFC after: 3 weeks
|
#
41f53a36 |
|
29-Nov-2008 |
Konstantin Belousov <kib@FreeBSD.org> |
Fix iovec32 for linux32/amd64. 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
|
#
a1b5a895 |
|
09-Nov-2008 |
Ed Schouten <ed@FreeBSD.org> |
Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4. 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
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
4732e446 |
|
13-May-2008 |
Roman Divacky <rdivacky@FreeBSD.org> |
Implement robust futexes. Most of the code is modelled after 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
|
#
26833f3f |
|
16-Apr-2008 |
Jung-uk Kim <jkim@FreeBSD.org> |
Add stubs for syscalls introduced in Linux 2.6.17 kernel. Some GNU libc version started using them before 2.6.17 was officially out. MFC after: 3 days
|
#
48b05c3f |
|
08-Apr-2008 |
Konstantin Belousov <kib@FreeBSD.org> |
Implement the linux syscalls 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
|
#
5dfb6881 |
|
16-Mar-2008 |
Roman Divacky <rdivacky@FreeBSD.org> |
Implement sched_setaffinity and get_setaffinity using real cpu affinity setting primitives. Reviewed by: jeff Approved by: kib (mentor)
|
#
3ab85269 |
|
18-Sep-2007 |
David Malone <dwmalone@FreeBSD.org> |
The kernel version of Linux statfs64 is actually supposed to take 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)
|
#
b6e645c9 |
|
27-Aug-2007 |
Konstantin Belousov <kib@FreeBSD.org> |
Implement fake linux sched_getaffinity() syscall to enable java to work 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)
|
#
9c5b213e |
|
29-Mar-2007 |
Jung-uk Kim <jkim@FreeBSD.org> |
MFP4: Linux set_thread_area syscall (aka TLS) support for amd64. Initial version was submitted by Divacky Roman and mostly rewritten by me. Tested by: emulation
|
#
6734f35e |
|
28-Mar-2007 |
Julian Elischer <julian@FreeBSD.org> |
Implement the openat() linux syscall Submitted by: Roman Divacky (rdivacky@) MFC after: 2 weeks
|
#
1e5ed8c1 |
|
14-Feb-2007 |
Jung-uk Kim <jkim@FreeBSD.org> |
MFP4: 113033 Port iopl(2) from i386. This fixes LTP iopl01 and iopl02 on amd64.
|
#
c9447c75 |
|
31-Dec-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFp4 (111746, 108671, 108945, 112352): - 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]
|
#
a46b391d |
|
28-Dec-2006 |
Robert Watson <rwatson@FreeBSD.org> |
Assign or clean up audit identifiers for a number of additional Linux system calls on the amd64 architecture. Some minor white space tweaks for consistency with other syscalls.master files. Obtained from: TrustedBSD Project
|
#
3680a419 |
|
29-Oct-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Backout the linux aio stuff. Several problems where identified and the dynamic nature (if no native aio code is available, the linux part returns ENOSYS because of missing requisites) should be solved differently than it is. All this will be done in P4. Not included in this commit is a backout of the changes to the native aio code (removing static in some places). Those changes (and some more) will also be needed when the reworked linux aio stuff will reenter the tree. Requested by: rwatson Discussed with: rwatson
|
#
955d762a |
|
28-Oct-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFP4: Implement prctl(). Submitted by: rdivacky Tested with: LTP
|
#
6a1162d4 |
|
15-Oct-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFP4 (with some minor changes): Implement the linux_io_* syscalls (AIO). They are only enabled if the native AIO code is available (either compiled in to the kernel or as a module) at the time the functions are used. If the AIO stuff is not available there will be a ENOSYS. From the submitter: ---snip--- DESIGN NOTES: 1. Linux permits a process to own multiple AIO queues (distinguished by "context"), but FreeBSD creates only one single AIO queue per process. My code maintains a request queue (STAILQ of queue(3)) per "context", and throws all AIO requests of all contexts owned by a process into the single FreeBSD per-process AIO queue. When the process calls io_destroy(2), io_getevents(2), io_submit(2) and io_cancel(2), my code can pick out requests owned by the specified context from the single FreeBSD per-process AIO queue according to the per-context request queues maintained by my code. 2. The request queue maintained by my code stores contrast information between Linux IO control blocks (struct linux_iocb) and FreeBSD IO control blocks (struct aiocb). FreeBSD IO control block actually exists in userland memory space, required by FreeBSD native aio_XXXXXX(2). 3. It is quite troubling that the function io_getevents() of libaio-0.3.105 needs to use Linux-specific "struct aio_ring", which is a partial mirror of context in user space. I would rather take the address of context in kernel as the context ID, but the io_getevents() of libaio forces me to take the address of the "ring" in user space as the context ID. To my surprise, one comment line in the file "io_getevents.c" of libaio-0.3.105 reads: Ben will hate me for this REFERENCE: 1. Linux kernel source code: http://www.kernel.org/pub/linux/kernel/v2.6/ (include/linux/aio_abi.h, fs/aio.c) 2. Linux manual pages: http://www.kernel.org/pub/linux/docs/manpages/ (io_setup(2), io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2)) 3. Linux Scalability Effort: http://lse.sourceforge.net/io/aio.html The design notes: http://lse.sourceforge.net/io/aionotes.txt 4. The package libaio, both source and binary: http://rpmfind.net/linux/rpm2html/search.php?query=libaio Simple transparent interface to Linux AIO system calls. 5. Libaio-oracle: http://oss.oracle.com/projects/libaio-oracle/ POSIX AIO implementation based on Linux AIO system calls (depending on libaio). ---snip--- Submitted by: Li, Xiao <intron@intron.ac>
|
#
835e5061 |
|
27-Aug-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Add the linux statfs64 call. This allows Tivoli backup to proceed a little but further on -current (still not successful, but a step into the right direction). Sponsored by: Google SoC 2006 Submitted by: rdivacky Tested by: Paul Mather <paul@gromit.dlib.vt.edu>
|
#
b4359bd8 |
|
14-Aug-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Add new syscalls in the linuxolator (only used when the sysctl compat.linux.osrelease is changed to "2.6.16" or similar). On amd64 not everything is supported like on i386, the catchup is planned for later when the remaining bugs in the new functions are fixed. Sponsored by: Google SoC 2006 Submitted by: rdivacky
|
#
af5bf122 |
|
28-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
Now that all system calls are MPSAFE, retire the SYF_MPSAFE flag used to mark system calls as being MPSAFE: - Stop conditionally acquiring Giant around system call invocations. - Remove all of the 'M' prefixes from the master system call files. - Remove support for the 'M' prefix from the script that generates the syscall-related files from the master system call files. - Don't explicitly set SYF_MPSAFE when registering nfssvc.
|
#
e0b4add8 |
|
28-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
Various fixes to comments in the syscall master files including removing cruft from the audit import and adding mention of COMPAT4 to freebsd32.
|
#
be5747d5 |
|
11-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
- Add conditional VFS Giant locking to getdents_common() (linux ABIs), ibcs2_getdents(), ibcs2_read(), ogetdirentries(), svr4_sys_getdents(), and svr4_sys_getdents64() similar to that in getdirentries(). - Mark ibcs2_getdents(), ibcs2_read(), linux_getdents(), linux_getdents64(), linux_readdir(), ogetdirentries(), svr4_sys_getdents(), and svr4_sys_getdents64() MPSAFE.
|
#
ad6d226d |
|
06-Jul-2006 |
John Baldwin <jhb@FreeBSD.org> |
- Protect the list of linux ioctl handlers with an sx lock. - Hold Giant while calling linux ioctl handlers for now as they aren't all known to be MPSAFE yet. - Mark linux_ioctl() MPSAFE.
|
#
49d409a1 |
|
27-Jun-2006 |
John Baldwin <jhb@FreeBSD.org> |
- Add a kern_semctl() helper function for __semctl(). It accepts a pointer to a copied-in copy of the 'union semun' and a uioseg to indicate which memory space the 'buf' pointer of the union points to. This is then used in linux_semctl() and svr4_sys_semctl() to eliminate use of the stackgap. - Mark linux_ipc() and svr4_sys_semsys() MPSAFE.
|
#
597d608f |
|
27-Jun-2006 |
John Baldwin <jhb@FreeBSD.org> |
- Expand the scope of Giant some in mount(2) to protect the vfsp structure from going away. mount(2) is now MPSAFE. - Expand the scope of Giant some in unmount(2) to protect the mp structure (or rather, to handle concurrent unmount races) from going away. umount(2) is now MPSAFE, as well as linux_umount() and linux_oldumount(). - nmount(2) and linux_mount() were already MPSAFE.
|
#
cf837b89 |
|
26-Jun-2006 |
John Baldwin <jhb@FreeBSD.org> |
linux_brk() is MPSAFE.
|
#
502195ac |
|
20-Jun-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Switch to using the DUMMY infrastructure instead of UNIMPL for the new syscalls. This way there will be a log message printed to the console (this time for real). Note: UNIMPL should be used for syscalls we do not implement ever, e.g. syscalls to load linux kernel modules. Submitted by: rdivacky Sponsored by: Goole SoC 2006 P4 IDs: 99600, 99602
|
#
c8b579c1 |
|
13-Jun-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
MFP4 (soc2006/rdivacky_linuxolator) Update of syscall.master: o Adding of several new dummy syscalls (268-310) o Synchronization of amd64 syscall.master with i386 one o Auditing added to amd64 syscall.master o Change auditing type for lstat syscall (bugfix). [1] P4-Changes: 98672, 98674 Noticed by: rwatson [1] Sponsored by: Google SoC 2006 Submitted by: rdivacky
|
#
17138b61 |
|
10-May-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Implement rt_sigpending in the linuxolator. PR: 92671 Submitted by: Markus Niemist"o <markus.niemisto@gmx.net>
|
#
3a192a20 |
|
20-Mar-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Fix the linuxolator on amd64 (cross-build).
|
#
aefce619 |
|
19-Mar-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Unbreak COMPAT_LINUX32 option support on amd64. Broken by: netchild
|
#
5c8919ad |
|
18-Mar-2006 |
Alexander Leidinger <netchild@FreeBSD.org> |
Get rid of the need of COMPAT_43 in the linuxolator. Submitted by: Divacky Roman <xdivac02@stud.fit.vutbr.cz> Obtained from: DragonFly (some parts)
|
#
8683e7fd |
|
13-Jul-2005 |
John Baldwin <jhb@FreeBSD.org> |
Make a pass through all the compat ABIs sychronizing the MP safe flags with the master syscall table as well as marking several ABI wrapper functions safe. MFC after: 1 week
|
#
bc165ab0 |
|
08-Jun-2005 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Properly convert FreeBSD priority values into Linux values in the getpriority(2) syscall. PR: kern/81951 Submitted by: Andriy Gapon <avg@icyb.net.ua>
|
#
f3596e33 |
|
30-May-2005 |
Robert Watson <rwatson@FreeBSD.org> |
Introduce a new field in the syscalls.master file format to hold the audit event identifier associated with each system call, which will be stored by makesyscalls.sh in the sy_auevent field of struct sysent. For now, default the audit identifier on all system calls to AUE_NULL, but in the near future, other BSM event identifiers will be used. The mapping of system calls to event identifiers is many:one due to multiple system calls that map to the same end functionality across compatibility wrappers, ABI wrappers, etc. Submitted by: wsalamon Obtained from: TrustedBSD Project
|
#
e3478fe0 |
|
06-Mar-2005 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Handle unimplemented syscall by instantly returning ENOSYS instead of sending signal first and only then returning ENOSYS to match what real linux does. PR: kern/74302 Submitted by: Travis Poppe <tlp@LiquidX.org>
|
#
ea0fabbc |
|
16-Aug-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Add preliminary support for running 32-bit Linux binaries on amd64, enabled with the COMPAT_LINUX32 option. This is largely based on the i386 MD Linux emulations bits, but also builds on the 32-bit FreeBSD and generic IA-32 binary emulation work. Some of this is still a little rough around the edges, and will need to be revisited before 32-bit and 64-bit Linux emulation support can coexist in the same kernel.
|