opnsense-src/sys/i386/linux
David Chisnall cf98bc28d3 Pass the syscall number to capsicum permission-denied signals
The syscall number is stored in the same register as the syscall return
on amd64 (and possibly other architectures) and so it is impossible to
recover in the signal handler after the call has returned.  This small
tweak delivers it in the `si_value` field of the signal, which is
sufficient to catch capability violations and emulate them with a call
to a more-privileged process in the signal handler.

This reapplies 3a522ba1bc with a fix for
the static assertion failure on i386.

Approved by:	markj (mentor)

Reviewed by:	kib, bcr (manpages)

Differential Revision: https://reviews.freebsd.org/D29185
2021-07-16 18:06:44 +01:00
..
imgact_linux.c vm_map_protect: allow to set prot and max_prot in one go. 2021-01-13 01:35:22 +02:00
linux.h linux(4): Retire a now unused include. 2021-06-22 08:39:47 +03:00
linux_copyout.c Fix futexes on i386 after the 4/4G split. 2018-04-24 12:50:21 +00:00
linux_dummy_machdep.c linux(4): Implement ppoll_time64 system call. 2021-06-10 15:18:46 +03:00
linux_genassym.c Implement vdso - virtual dynamic shared object. Through vdso Linux 2015-05-24 15:28:17 +00:00
linux_locore.asm linux(4): Retire linux_kplatform. 2021-06-22 08:36:21 +03:00
linux_machdep.c linux(4): Retire unused declaration. 2021-06-22 08:41:33 +03:00
linux_proto.h linux(4): Regen for linux_poll system call. 2021-06-22 08:09:55 +03:00
linux_ptrace.c Correct proper nouns in the Linuxulator 2018-02-22 02:24:17 +00:00
linux_syscall.h linux(4): Regen for linux_poll system call. 2021-06-22 08:09:55 +03:00
linux_syscalls.c linux(4): Regen for linux_poll system call. 2021-06-22 08:09:55 +03:00
linux_sysent.c linux(4): Regen for linux_poll system call. 2021-06-22 08:09:55 +03:00
linux_systrace_args.c linux(4): Regen for linux_poll system call. 2021-06-22 08:09:55 +03:00
linux_sysvec.c Pass the syscall number to capsicum permission-denied signals 2021-07-16 18:06:44 +01:00
linux_vdso.lds.s Implement vdso - virtual dynamic shared object. Through vdso Linux 2015-05-24 15:28:17 +00:00
Makefile sysent targets: further cleanup and deduplication 2020-01-18 20:37:45 +00:00
syscalls.conf add DTrace systrace support for linux32 and freebsd32 on amd64 syscalls 2011-03-12 08:51:43 +00:00
syscalls.master linux(4): Implement poll system call via linux_common_ppol() 2021-06-22 08:07:46 +03:00