freebsd-dev/sys/compat/linux
Ed Schouten ddf9d24349 Push down Giant inside sysctl. Also add some more assertions to the code.
In the existing code we didn't really enforce that callers hold Giant
before calling userland_sysctl(), even though there is no guarantee it
is safe. Fix this by just placing Giant locks around the call to the oid
handler. This also means we only pick up Giant for a very short period
of time. Maybe we should add MPSAFE flags to sysctl or phase it out all
together.

I've also added SYSCTL_LOCK_ASSERT(). We have to make sure sysctl_root()
and name2oid() are called with the sysctl lock held.

Reviewed by:	Jille Timmermans <jille quis cx>
2008-12-29 12:58:45 +00:00
..
linux_emul.c The code in linux_proc_exit() contains a race when multiple linux based 2008-10-31 10:38:30 +00:00
linux_emul.h
linux_file.c Getdents requires padding with 2 bytes instead of 1 byte 2008-09-09 16:00:17 +00:00
linux_file.h
linux_futex.c In the robust futexes list head, futex_offset shall be signed, 2008-11-16 15:45:41 +00:00
linux_futex.h Make robust futexes work on linux32/amd64. Use PTRIN to read 2008-10-14 07:59:23 +00:00
linux_getcwd.c Introduce accmode_t. This is required for NFSv4 ACLs - it will be neccessary 2008-10-28 13:44:11 +00:00
linux_ioctl.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
linux_ioctl.h Add TIOCPKT and TIOCSPTLCK to the Linuxolator. 2008-07-23 17:47:44 +00:00
linux_ipc.c Document that all the other commands are either 2008-11-26 16:38:43 +00:00
linux_ipc.h
linux_mib.c
linux_mib.h
linux_misc.c Push down Giant inside sysctl. Also add some more assertions to the code. 2008-12-29 12:58:45 +00:00
linux_misc.h
linux_signal.c Correctly fill siginfo for the signals delivered by linux tkill/tgkill. 2008-10-19 10:02:26 +00:00
linux_signal.h Correctly fill siginfo for the signals delivered by linux tkill/tgkill. 2008-10-19 10:02:26 +00:00
linux_socket.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
linux_socket.h Make linux_sendmsg() and linux_recvmsg() work on linux32/amd64. 2008-11-29 17:14:06 +00:00
linux_stats.c Integrate the new MPSAFE TTY layer to the FreeBSD operating system. 2008-08-20 08:31:58 +00:00
linux_sysctl.c
linux_sysproto.h
linux_time.c
linux_uid16.c
linux_util.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
linux_util.h