2021-10-13 17:32:48

by Kees Cook

[permalink] [raw]
Subject: [PATCH] LSM: Avoid warnings about potentially unused hook variables

Building with W=1 shows many unused const variable warnings. These can
be silenced, as we're well aware of their being potentially unused:

./include/linux/lsm_hook_defs.h:36:18: error: 'ptrace_access_check_default' defined but not used [-Werror=unused-const-variable=]
36 | LSM_HOOK(int, 0, ptrace_access_check, struct task_struct *child,
| ^~~~~~~~~~~~~~~~~~~
security/security.c:706:32: note: in definition of macro 'LSM_RET_DEFAULT'
706 | #define LSM_RET_DEFAULT(NAME) (NAME##_default)
| ^~~~
security/security.c:711:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int'
711 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME)
| ^~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/lsm_hook_defs.h:36:1: note: in expansion of macro 'LSM_HOOK'
36 | LSM_HOOK(int, 0, ptrace_access_check, struct task_struct *child,
| ^~~~~~~~

Cc: James Morris <[email protected]>
Cc: "Serge E. Hallyn" <[email protected]>
Cc: Paul Moore <[email protected]>
Cc: Casey Schaufler <[email protected]>
Cc: KP Singh <[email protected]>
Cc: [email protected]
Reported-by: kernel test robot <[email protected]>
Link: https://lore.kernel.org/linux-mm/[email protected]/
Fixes: 98e828a0650f ("security: Refactor declaration of LSM hooks")
Signed-off-by: Kees Cook <[email protected]>
---
security/security.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/security/security.c b/security/security.c
index 9ffa9e9c5c55..462f14354c2c 100644
--- a/security/security.c
+++ b/security/security.c
@@ -706,7 +706,7 @@ static int lsm_superblock_alloc(struct super_block *sb)
#define LSM_RET_DEFAULT(NAME) (NAME##_default)
#define DECLARE_LSM_RET_DEFAULT_void(DEFAULT, NAME)
#define DECLARE_LSM_RET_DEFAULT_int(DEFAULT, NAME) \
- static const int LSM_RET_DEFAULT(NAME) = (DEFAULT);
+ static const int __maybe_unused LSM_RET_DEFAULT(NAME) = (DEFAULT);
#define LSM_HOOK(RET, DEFAULT, NAME, ...) \
DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME)

--
2.30.2


2021-10-13 17:55:15

by Paul Moore

[permalink] [raw]
Subject: Re: [PATCH] LSM: Avoid warnings about potentially unused hook variables

On Wed, Oct 13, 2021 at 1:31 PM Kees Cook <[email protected]> wrote:
>
> Building with W=1 shows many unused const variable warnings. These can
> be silenced, as we're well aware of their being potentially unused:
>
> ./include/linux/lsm_hook_defs.h:36:18: error: 'ptrace_access_check_default' defined but not used [-Werror=unused-const-variable=]
> 36 | LSM_HOOK(int, 0, ptrace_access_check, struct task_struct *child,
> | ^~~~~~~~~~~~~~~~~~~
> security/security.c:706:32: note: in definition of macro 'LSM_RET_DEFAULT'
> 706 | #define LSM_RET_DEFAULT(NAME) (NAME##_default)
> | ^~~~
> security/security.c:711:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int'
> 711 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME)
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> ./include/linux/lsm_hook_defs.h:36:1: note: in expansion of macro 'LSM_HOOK'
> 36 | LSM_HOOK(int, 0, ptrace_access_check, struct task_struct *child,
> | ^~~~~~~~
>
> Cc: James Morris <[email protected]>
> Cc: "Serge E. Hallyn" <[email protected]>
> Cc: Paul Moore <[email protected]>
> Cc: Casey Schaufler <[email protected]>
> Cc: KP Singh <[email protected]>
> Cc: [email protected]
> Reported-by: kernel test robot <[email protected]>
> Link: https://lore.kernel.org/linux-mm/[email protected]/
> Fixes: 98e828a0650f ("security: Refactor declaration of LSM hooks")
> Signed-off-by: Kees Cook <[email protected]>
> ---
> security/security.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Looks reasonable to me, thanks Kees. Unless James wants to pick this
up for the security tree, I can pull this into the SElinux tree with
the io_uring change which is causing the testing robot to complain.

Acked-by: Paul Moore <[email protected]>

> diff --git a/security/security.c b/security/security.c
> index 9ffa9e9c5c55..462f14354c2c 100644
> --- a/security/security.c
> +++ b/security/security.c
> @@ -706,7 +706,7 @@ static int lsm_superblock_alloc(struct super_block *sb)
> #define LSM_RET_DEFAULT(NAME) (NAME##_default)
> #define DECLARE_LSM_RET_DEFAULT_void(DEFAULT, NAME)
> #define DECLARE_LSM_RET_DEFAULT_int(DEFAULT, NAME) \
> - static const int LSM_RET_DEFAULT(NAME) = (DEFAULT);
> + static const int __maybe_unused LSM_RET_DEFAULT(NAME) = (DEFAULT);
> #define LSM_HOOK(RET, DEFAULT, NAME, ...) \
> DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME)
>
> --
> 2.30.2

--
paul moore
http://www.paul-moore.com

2021-10-13 22:04:50

by James Morris

[permalink] [raw]
Subject: Re: [PATCH] LSM: Avoid warnings about potentially unused hook variables

On Wed, 13 Oct 2021, Paul Moore wrote:

> Looks reasonable to me, thanks Kees. Unless James wants to pick this
> up for the security tree, I can pull this into the SElinux tree with
> the io_uring change which is causing the testing robot to complain.
>
> Acked-by: Paul Moore <[email protected]>

Sounds good.


Acked-by: James Morris <[email protected]>


--
James Morris
<[email protected]>

2021-10-15 02:05:28

by Paul Moore

[permalink] [raw]
Subject: Re: [PATCH] LSM: Avoid warnings about potentially unused hook variables

On Wed, Oct 13, 2021 at 6:01 PM James Morris <[email protected]> wrote:
> On Wed, 13 Oct 2021, Paul Moore wrote:
>
> > Looks reasonable to me, thanks Kees. Unless James wants to pick this
> > up for the security tree, I can pull this into the SElinux tree with
> > the io_uring change which is causing the testing robot to complain.
> >
> > Acked-by: Paul Moore <[email protected]>
>
> Sounds good.
>
> Acked-by: James Morris <[email protected]>

I just merged this into selinux/next, thanks everyone!

--
paul moore
http://www.paul-moore.com