From 57e36bbd67bd1509f550311b162be78cadfe887b Mon Sep 17 00:00:00 2001 From: John Johansen Date: Mon, 16 Jan 2017 00:42:26 -0800 Subject: [PATCH] apparmor: add macro for bug asserts to check that a lock is held Signed-off-by: John Johansen --- security/apparmor/include/lib.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/security/apparmor/include/lib.h b/security/apparmor/include/lib.h index 4699c2b43fa0..61dedd7333df 100644 --- a/security/apparmor/include/lib.h +++ b/security/apparmor/include/lib.h @@ -19,6 +19,17 @@ #include "match.h" +/* Provide our own test for whether a write lock is held for asserts + * this is because on none SMP systems write_can_lock will always + * resolve to true, which is what you want for code making decisions + * based on it, but wrong for asserts checking that the lock is held + */ +#ifdef CONFIG_SMP +#define write_is_locked(X) !write_can_lock(X) +#else +#define write_is_locked(X) (1) +#endif /* CONFIG_SMP */ + /* * DEBUG remains global (no per profile flag) since it is mostly used in sysctl * which is not related to profile accesses.