Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

apparmor: fix zero-length compiler warning in AA_BUG()

Uses of AA_BUG() without a message can result in the compiler warning

warning: zero-length gnu_printf format string [-Wformat-zero-length]

Fix this with a pragma for now. A larger rework of AA_BUG() will
follow.

Signed-off-by: John Johansen <john.johansen@canonical.com>

+6 -1
+6 -1
security/apparmor/include/lib.h
··· 31 31 32 32 #define AA_WARN(X) WARN((X), "APPARMOR WARN %s: %s\n", __func__, #X) 33 33 34 - #define AA_BUG(X, args...) AA_BUG_FMT((X), "" args) 34 + #define AA_BUG(X, args...) \ 35 + do { \ 36 + _Pragma("GCC diagnostic ignored \"-Wformat-zero-length\""); \ 37 + AA_BUG_FMT((X), "" args); \ 38 + _Pragma("GCC diagnostic warning \"-Wformat-zero-length\""); \ 39 + } while (0) 35 40 #ifdef CONFIG_SECURITY_APPARMOR_DEBUG_ASSERTS 36 41 #define AA_BUG_FMT(X, fmt, args...) \ 37 42 WARN((X), "AppArmor WARN %s: (" #X "): " fmt, __func__, ##args)