Re: [PATCH] apparmor: use the condition in AA_BUG_FMT even with debug disabled

From: John Johansen
Date: Wed Jan 29 2025 - 06:47:03 EST


On 1/27/25 12:54, Mateusz Guzik wrote:
This follows the established practice and fixes a build failure for me:
security/apparmor/file.c: In function ‘__file_sock_perm’:
security/apparmor/file.c:544:24: error: unused variable ‘sock’ [-Werror=unused-variable]
544 | struct socket *sock = (struct socket *) file->private_data;
| ^~~~

Signed-off-by: Mateusz Guzik <mjguzik@xxxxxxxxx>

Acked-by: John Johansen <john.johansen@xxxxxxxxxxxxx>

thanks, I have pulled this into my tree

---

Plausibly the sock var wants to be eliminated altogether, but I just
want this to build.

security/apparmor/include/lib.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/security/apparmor/include/lib.h b/security/apparmor/include/lib.h
index 256f4577c653..d947998262b2 100644
--- a/security/apparmor/include/lib.h
+++ b/security/apparmor/include/lib.h
@@ -60,7 +60,11 @@ do { \
#define AA_BUG_FMT(X, fmt, args...) \
WARN((X), "AppArmor WARN %s: (" #X "): " fmt, __func__, ##args)
#else
-#define AA_BUG_FMT(X, fmt, args...) no_printk(fmt, ##args)
+#define AA_BUG_FMT(X, fmt, args...) \
+ do { \
+ BUILD_BUG_ON_INVALID(X); \
+ no_printk(fmt, ##args); \
+ } while (0)
#endif
int aa_parse_debug_params(const char *str);