diff mbox series

apparmor: use the condition in AA_BUG_FMT even with debug disabled

Message ID 20250127205404.3116679-1-mjguzik@gmail.com (mailing list archive)
State New
Headers show
Series apparmor: use the condition in AA_BUG_FMT even with debug disabled | expand

Commit Message

Mateusz Guzik Jan. 27, 2025, 8:54 p.m. UTC
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@gmail.com>
---

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(-)

Comments

Ryan Lee Jan. 27, 2025, 8:59 p.m. UTC | #1
For the record, a previous patch that removes the sock variable was
previously accepted:
https://lists.ubuntu.com/archives/apparmor/2025-January/013449.html
(patch) and https://lists.ubuntu.com/archives/apparmor/2025-January/013463.html
(ack from John Johansen)

On Mon, Jan 27, 2025 at 12:54 PM Mateusz Guzik <mjguzik@gmail.com> 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@gmail.com>
> ---
>
> 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);
> --
> 2.43.0
>
>
Mateusz Guzik Jan. 27, 2025, 9:07 p.m. UTC | #2
On Mon, Jan 27, 2025 at 9:59 PM Ryan Lee <ryan.lee@canonical.com> wrote:
>
> For the record, a previous patch that removes the sock variable was
> previously accepted:
> https://lists.ubuntu.com/archives/apparmor/2025-January/013449.html
> (patch) and https://lists.ubuntu.com/archives/apparmor/2025-January/013463.html
> (ack from John Johansen)
>

That makes sense, but imo the posted patch is still warranted -- all
other debug macros (WARN_ON, VM_WARN_ON etc.) are expected to evaluate
the condition.
John Johansen Jan. 29, 2025, 11:46 a.m. UTC | #3
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@gmail.com>

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

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);
diff mbox series

Patch

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);