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

Paul Moore paul at paul-moore.com
Wed Oct 13 17:53:27 UTC 2021


On Wed, Oct 13, 2021 at 1:31 PM Kees Cook <keescook at chromium.org> 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 <jmorris at namei.org>
> Cc: "Serge E. Hallyn" <serge at hallyn.com>
> Cc: Paul Moore <paul at paul-moore.com>
> Cc: Casey Schaufler <casey at schaufler-ca.com>
> Cc: KP Singh <kpsingh at chromium.org>
> Cc: linux-security-module at vger.kernel.org
> Reported-by: kernel test robot <lkp at intel.com>
> Link: https://lore.kernel.org/linux-mm/202110131608.zms53FPR-lkp@intel.com/
> Fixes: 98e828a0650f ("security: Refactor declaration of LSM hooks")
> Signed-off-by: Kees Cook <keescook at chromium.org>
> ---
>  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 <paul at paul-moore.com>

> 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
www.paul-moore.com



More information about the Linux-security-module-archive mailing list