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