opnsense-src/sys/compat/linux
Mateusz Guzik a125ed50a6 linux: add sysctl compat.linux.use_emul_path
This is a step towards facilitating jails with only Linux binaries.
Supporting emul_path adds path lookups which are completely spurious
if the binary at hand runs in a Linux-based root directory.

It defaults to on (== current behavior).

make -C /root/linux-5.3-rc8 -s -j 1 bzImage:

use_emul_path=1: 101.65s user 68.68s system 100% cpu 2:49.62 total
use_emul_path=0: 101.41s user 64.32s system 100% cpu 2:45.02 total
2020-08-18 22:04:22 +00:00
..
check_error.d Switch linuxulator to use the native 1:1 threads. 2015-05-24 14:53:16 +00:00
check_internal_locks.d Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux.c linuxolator: implement memfd_create syscall 2020-06-29 03:09:14 +00:00
linux.h linux: reposition the comment for bsd_to_linux_bits/linux_to_bsd_bits 2020-06-29 17:47:00 +00:00
linux_common.c Make linux(4) create /dev/shm. Linux applications often expect 2019-11-06 20:53:33 +00:00
linux_common.h Our bsd_to_linux_sockaddr() and linux_to_bsd_sockaddr() functions 2019-05-13 17:48:16 +00:00
linux_dtrace.h sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
linux_emul.c Fix execution of linux binary from multithreaded non-Linux process. 2020-06-18 20:49:56 +00:00
linux_emul.h Implement PTRACE_O_TRACESYSGOOD. This makes Linux strace(1) work. 2019-05-19 12:58:44 +00:00
linux_errno.c Share Linux errno table with libsysdecode 2018-03-22 12:58:49 +00:00
linux_errno.inc Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
linux_event.c Don't use newlines with linux_msg(). No functional changes. 2020-06-11 14:57:30 +00:00
linux_event.h Linux epoll: Register events with zero event mask 2019-11-24 20:47:40 +00:00
linux_file.c linux: add sysctl compat.linux.use_emul_path 2020-08-18 22:04:22 +00:00
linux_file.h linuxolator: implement memfd_create syscall 2020-06-29 03:09:14 +00:00
linux_fork.c Remove "emulation" of clone(CLONE_PARENT | CLONE_THREAD). 2020-08-17 21:30:49 +00:00
linux_futex.c Fix a lock leak when emulating futex(FUTEX_WAIT_BITSET). 2020-08-17 21:30:15 +00:00
linux_futex.h linux: futex_mtx should follow futex_list 2019-10-18 12:25:33 +00:00
linux_getcwd.c cache: replace kern___getcwd with vn_getcwd 2020-02-01 20:38:38 +00:00
linux_ioctl.c Make linux(4) support the BLKPBSZGET ioctl. Oracle uses it. 2020-07-19 12:25:03 +00:00
linux_ioctl.h Make linux(4) support the BLKPBSZGET ioctl. Oracle uses it. 2020-07-19 12:25:03 +00:00
linux_ipc.c Linux between 4.18 and 5.0 split IPC system calls. 2019-03-24 14:44:35 +00:00
linux_ipc.h Update syscall.master to 5.0. 2019-03-24 14:50:02 +00:00
linux_ipc64.h Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux_mib.c linux: add sysctl compat.linux.use_emul_path 2020-08-18 22:04:22 +00:00
linux_mib.h Bump the default linux version from 3.2.0 to 3.10.0, which corresponds 2020-07-18 11:37:30 +00:00
linux_misc.c linux: add sysctl compat.linux.use_emul_path 2020-08-18 22:04:22 +00:00
linux_misc.h linuxulator: Map scheduler priorities to Linux priorities. 2020-03-01 13:12:04 +00:00
linux_mmap.c Skip Linux madvise(MADV_DONTNEED) on unmanaged objects. 2020-08-17 17:14:56 +00:00
linux_mmap.h Add linux_madvise(2) instead of having Linux apps call the native 2020-06-20 18:29:22 +00:00
linux_persona.h Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
linux_signal.c Make linux(4) ignore SA_INTERRUPT. The zsh(1) binary from Bionic uses it. 2020-06-30 16:18:09 +00:00
linux_signal.h Rationalize license text on Linuxolator files 2018-03-23 14:39:34 +00:00
linux_socket.c Fix handling of ancillary data on non-AF_UNIX Linux sockets. 2020-08-18 14:17:14 +00:00
linux_socket.h Make linux(4) support SO_PROTOCOL. Running Python test suite 2020-06-28 18:56:32 +00:00
linux_stats.c linux: add sysctl compat.linux.use_emul_path 2020-08-18 22:04:22 +00:00
linux_sysctl.c Quiet unused fn warning for linuxulator w/o legacy syscalls 2018-06-25 19:24:50 +00:00
linux_sysproto.h sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
linux_time.c Fix r363125 (Implement CLOCK_MONOTONIC_RAW (linux >= 2.6.28)), 2020-07-12 14:57:29 +00:00
linux_timer.c Return EINVAL in case of incorrect sigev_signo value specified instead of panicing. 2015-12-26 09:09:49 +00:00
linux_timer.h Centralize compatability translation macros. 2020-04-14 20:30:48 +00:00
linux_uid16.c linux: add sysctl compat.linux.use_emul_path 2020-08-18 22:04:22 +00:00
linux_util.c Add compat.linux.debug sysctl, to make it possible to silence down 2020-06-12 14:37:50 +00:00
linux_util.h linux: add sysctl compat.linux.use_emul_path 2020-08-18 22:04:22 +00:00
linux_vdso.c Fix the last few cases that grab without busy or valid. The grab functions must 2019-12-02 22:38:25 +00:00
linux_vdso.h Avoid using [LINUX_]SHAREDPAGE constant directly in the vdso code. 2017-07-30 21:24:20 +00:00
linux_videodev2_compat.h Commit the missing linux_videdev2_compat.h (lost somewhere between 2011-05-04 13:09:20 +00:00
linux_videodev_compat.h This is v4l support for the linuxulator. This allows to access FreeBSD 2009-12-04 21:06:54 +00:00
stats_timing.d Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00
trace_futexes.d Linuxolator whitespace cleanup 2018-02-05 17:29:12 +00:00