opnsense-src/sys/compat/linux
Robert Watson 77dfcdc445 Rework global locks for interface list and index management, correcting
several critical bugs, including race conditions and lock order issues:

Replace the single rwlock, ifnet_lock, with two locks, an rwlock and an
sxlock.  Either can be held to stablize the lists and indexes, but both
are required to write.  This allows the list to be held stable in both
network interrupt contexts and sleepable user threads across sleeping
memory allocations or device driver interactions.  As before, writes to
the interface list must occur from sleepable contexts.

Reviewed by:	bz, julian
MFC after:	3 days
2009-08-23 20:40:19 +00:00
..
linux_emul.c Remove support for FUTEX_REQUEUE operation. 2009-04-19 13:48:42 +00:00
linux_emul.h Remove support for FUTEX_REQUEUE operation. 2009-04-19 13:48:42 +00:00
linux_file.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
linux_file.h Implement the linux syscalls 2008-04-08 09:45:49 +00:00
linux_futex.c Unlock process lock when return error from getrobustlist call. 2009-06-14 17:53:55 +00:00
linux_futex.h Move extern variable definitions to the header file. 2009-05-02 10:06:49 +00:00
linux_getcwd.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
linux_ioctl.c Rework global locks for interface list and index management, correcting 2009-08-23 20:40:19 +00:00
linux_ioctl.h Add TIOCPKT and TIOCSPTLCK to the Linuxolator. 2008-07-23 17:47:44 +00:00
linux_ipc.c Change the ABI of some of the structures used by the SYSV IPC API: 2009-06-24 21:10:52 +00:00
linux_ipc.h MFP4 (110956): 2006-12-21 13:11:06 +00:00
linux_mib.c Some jail parameters (in particular, "ip4" and "ip6" for IP address 2009-07-25 14:48:57 +00:00
linux_mib.h Do not export AT_CLKTCK when emulating Linux kernel prior 2009-05-10 18:43:43 +00:00
linux_misc.c Rework the credential code to support larger values of NGROUPS and 2009-06-19 17:10:35 +00:00
linux_misc.h Rework r189362, r191883. 2009-05-10 18:16:07 +00:00
linux_signal.c Replace AUDIT_ARG() with variable argument macros with a set more more 2009-06-27 13:58:44 +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 Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
linux_socket.h Implement MSG_CMSG_CLOEXEC flag for linux_recvmsg(). 2009-05-18 04:07:46 +00:00
linux_stats.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
linux_sysctl.c Unbreak COMPAT_LINUX32 option support on amd64. 2006-03-19 11:10:33 +00:00
linux_sysproto.h Handle unimplemented syscall by instantly returning ENOSYS instead of sending 2005-03-07 00:18:06 +00:00
linux_time.c MFP4: 109655 2006-12-20 20:17:35 +00:00
linux_uid16.c Rework the credential code to support larger values of NGROUPS and 2009-06-19 17:10:35 +00:00
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 Add preliminary KTR(9) support to the linux emulation layer. 2009-05-07 10:01:05 +00:00