Re: [PATCH] tpm: eventlog: Declare mapping_size __maybe_unused

From: Jarkko Sakkinen
Date: Wed Mar 12 2025 - 02:22:01 EST


On Tue, Mar 11, 2025 at 08:01:15PM +0800, WangYuli wrote:
> Given that when CONFIG_EFI is not enabled, do_mapping is inherently
> false. Thus, the mapping_size variable is set but remains unused,
> resulting in a compilation warning.
>
> Simply annotating it with __maybe_unused will resolve this compilation
> warning.
>
> [ Fix follow errors with clang-19 when W=1e: ]
> In file included from drivers/char/tpm/tpm1-cmd.c:21:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpm1-cmd.o] Error 1
> make[8]: *** Waiting for unfinished jobs....
> In file included from drivers/char/tpm/tpm-dev-common.c:19:
> In file included from drivers/char/tpm/tpm.h:28:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpm-dev-common.o] Error 1
> In file included from drivers/char/tpm/tpm2-cmd.c:14:
> In file included from drivers/char/tpm/tpm.h:28:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> In file included from drivers/char/tpm/tpm-dev.c:16:
> In file included from drivers/char/tpm/tpm-dev.h:6:
> In file included from drivers/char/tpm/tpm.h:28:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpm-dev.o] Error 1
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpm2-cmd.o] Error 1
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpmrm-dev.o] Error 1
> In file included from drivers/char/tpm/tpm-chip.c:24:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> In file included from drivers/char/tpm/tpm-sysfs.c:16:
> In file included from drivers/char/tpm/tpm.h:28:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpm-chip.o] Error 1
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpm-sysfs.o] Error 1
> In file included from drivers/char/tpm/tpm2-sessions.c:71:
> In file included from drivers/char/tpm/tpm.h:28:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpm2-sessions.o] Error 1
> In file included from drivers/char/tpm/tpm-interface.c:28:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpm-interface.o] Error 1
> In file included from drivers/char/tpm/tpm2-space.c:16:
> In file included from drivers/char/tpm/tpm.h:28:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpm2-space.o] Error 1
> In file included from drivers/char/tpm/eventlog/tpm1.c:24:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/eventlog/tpm1.o] Error 1
> In file included from drivers/char/tpm/eventlog/common.c:20:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/eventlog/common.o] Error 1
> In file included from drivers/char/tpm/eventlog/tpm2.c:20:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/eventlog/tpm2.o] Error 1
> In file included from drivers/char/tpm/tpm_vtpm_proxy.c:24:
> In file included from drivers/char/tpm/tpm.h:28:
> ./include/linux/tpm_eventlog.h:167:6: error: variable 'mapping_size' set but not used [-Werror,-Wunused-but-set-variable]
> 167 | int mapping_size;
> | ^
> 1 error generated.
> make[8]: *** [scripts/Makefile.build:207: drivers/char/tpm/tpm_vtpm_proxy.o] Error 1
> make[7]: *** [scripts/Makefile.build:465: drivers/char/tpm] Error 2
> make[6]: *** [scripts/Makefile.build:465: drivers/char] Error 2
> make[6]: *** Waiting for unfinished jobs....
>
> Suggested-by: Chen Linxuan <chenlinxuan@xxxxxxxxxxxxx>
> Signed-off-by: WangYuli <wangyuli@xxxxxxxxxxxxx>
> ---
> include/linux/tpm_eventlog.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/tpm_eventlog.h b/include/linux/tpm_eventlog.h
> index 891368e82558..7ca58b2e96e8 100644
> --- a/include/linux/tpm_eventlog.h
> +++ b/include/linux/tpm_eventlog.h
> @@ -164,7 +164,7 @@ static __always_inline u32 __calc_tpm2_event_size(struct tcg_pcr_event2_head *ev
> struct tcg_efi_specid_event_head *efispecid;
> struct tcg_event_field *event_field;
> void *mapping = NULL;
> - int mapping_size;
> + __maybe_unused int mapping_size;

NAK for the code change. Unused is not a problem.
Uninitialized is.

> void *marker;
> void *marker_start;
> u32 halg_size;
> --
> 2.47.2
>
>
BR, Jarkko