diff options
author | attilio <attilio@FreeBSD.org> | 2013-11-25 07:38:45 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2013-11-25 07:38:45 +0000 |
commit | 7ee4e910ced4b311b0194fe11c664f0c6bde3bd8 (patch) | |
tree | e29b308276ced8b2028470c376a2a34193dc6c3c /sys/security/mac | |
parent | 150d294dbc6b55504998d6f99781473171415f7f (diff) | |
download | FreeBSD-src-7ee4e910ced4b311b0194fe11c664f0c6bde3bd8.zip FreeBSD-src-7ee4e910ced4b311b0194fe11c664f0c6bde3bd8.tar.gz |
- For kernel compiled only with KDTRACE_HOOKS and not any lock debugging
option, unbreak the lock tracing release semantic by embedding
calls to LOCKSTAT_PROFILE_RELEASE_LOCK() direclty in the inlined
version of the releasing functions for mutex, rwlock and sxlock.
Failing to do so skips the lockstat_probe_func invokation for
unlocking.
- As part of the LOCKSTAT support is inlined in mutex operation, for
kernel compiled without lock debugging options, potentially every
consumer must be compiled including opt_kdtrace.h.
Fix this by moving KDTRACE_HOOKS into opt_global.h and remove the
dependency by opt_kdtrace.h for all files, as now only KDTRACE_FRAMES
is linked there and it is only used as a compile-time stub [0].
[0] immediately shows some new bug as DTRACE-derived support for debug
in sfxge is broken and it was never really tested. As it was not
including correctly opt_kdtrace.h before it was never enabled so it
was kept broken for a while. Fix this by using a protection stub,
leaving sfxge driver authors the responsibility for fixing it
appropriately [1].
Sponsored by: EMC / Isilon storage division
Discussed with: rstone
[0] Reported by: rstone
[1] Discussed with: philip
Diffstat (limited to 'sys/security/mac')
-rw-r--r-- | sys/security/mac/mac_audit.c | 2 | ||||
-rw-r--r-- | sys/security/mac/mac_cred.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_framework.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_inet.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_net.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_pipe.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_posix_sem.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_posix_shm.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_priv.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_process.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_socket.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_system.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_sysv_msg.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_sysv_sem.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_sysv_shm.c | 1 | ||||
-rw-r--r-- | sys/security/mac/mac_vfs.c | 1 |
16 files changed, 0 insertions, 17 deletions
diff --git a/sys/security/mac/mac_audit.c b/sys/security/mac/mac_audit.c index 4d453b5..1cc571d 100644 --- a/sys/security/mac/mac_audit.c +++ b/sys/security/mac/mac_audit.c @@ -43,8 +43,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" - #include <sys/param.h> #include <sys/kernel.h> #include <sys/module.h> diff --git a/sys/security/mac/mac_cred.c b/sys/security/mac/mac_cred.c index 64dab5b..372679b 100644 --- a/sys/security/mac/mac_cred.c +++ b/sys/security/mac/mac_cred.c @@ -46,7 +46,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_framework.c b/sys/security/mac/mac_framework.c index 25ffa91..5fa2736 100644 --- a/sys/security/mac/mac_framework.c +++ b/sys/security/mac/mac_framework.c @@ -66,7 +66,6 @@ * src/sys/security/mac_*. */ -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/cdefs.h> diff --git a/sys/security/mac/mac_inet.c b/sys/security/mac/mac_inet.c index 5753bb6..a1bbea9 100644 --- a/sys/security/mac/mac_inet.c +++ b/sys/security/mac/mac_inet.c @@ -45,7 +45,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_net.c b/sys/security/mac/mac_net.c index b7e4c54..5a87f47 100644 --- a/sys/security/mac/mac_net.c +++ b/sys/security/mac/mac_net.c @@ -45,7 +45,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_pipe.c b/sys/security/mac/mac_pipe.c index 91c3cff..d7cb86c 100644 --- a/sys/security/mac/mac_pipe.c +++ b/sys/security/mac/mac_pipe.c @@ -40,7 +40,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_posix_sem.c b/sys/security/mac/mac_posix_sem.c index 461e5db..4cf4109 100644 --- a/sys/security/mac/mac_posix_sem.c +++ b/sys/security/mac/mac_posix_sem.c @@ -39,7 +39,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include "opt_posix.h" diff --git a/sys/security/mac/mac_posix_shm.c b/sys/security/mac/mac_posix_shm.c index 15b298d..f094f06 100644 --- a/sys/security/mac/mac_posix_shm.c +++ b/sys/security/mac/mac_posix_shm.c @@ -39,7 +39,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_priv.c b/sys/security/mac/mac_priv.c index 537c002..5d39568 100644 --- a/sys/security/mac/mac_priv.c +++ b/sys/security/mac/mac_priv.c @@ -38,7 +38,6 @@ #include "sys/cdefs.h" __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_process.c b/sys/security/mac/mac_process.c index 1a760cf..b0a8807 100644 --- a/sys/security/mac/mac_process.c +++ b/sys/security/mac/mac_process.c @@ -45,7 +45,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_socket.c b/sys/security/mac/mac_socket.c index 11d5e05..95cfc6b 100644 --- a/sys/security/mac/mac_socket.c +++ b/sys/security/mac/mac_socket.c @@ -45,7 +45,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_system.c b/sys/security/mac/mac_system.c index b705bbd..f3da047 100644 --- a/sys/security/mac/mac_system.c +++ b/sys/security/mac/mac_system.c @@ -53,7 +53,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_sysv_msg.c b/sys/security/mac/mac_sysv_msg.c index c402322..6dcd262 100644 --- a/sys/security/mac/mac_sysv_msg.c +++ b/sys/security/mac/mac_sysv_msg.c @@ -41,7 +41,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_sysv_sem.c b/sys/security/mac/mac_sysv_sem.c index 12e7cce..f050ddd 100644 --- a/sys/security/mac/mac_sysv_sem.c +++ b/sys/security/mac/mac_sysv_sem.c @@ -40,7 +40,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_sysv_shm.c b/sys/security/mac/mac_sysv_shm.c index 168e5b6..a5861d0 100644 --- a/sys/security/mac/mac_sysv_shm.c +++ b/sys/security/mac/mac_sysv_shm.c @@ -40,7 +40,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> diff --git a/sys/security/mac/mac_vfs.c b/sys/security/mac/mac_vfs.c index 05f49c2..1d08f61 100644 --- a/sys/security/mac/mac_vfs.c +++ b/sys/security/mac/mac_vfs.c @@ -45,7 +45,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" #include "opt_mac.h" #include <sys/param.h> |