Message ID | 10590A3A04DA011F+20250311120115.1451048-1-wangyuli@uniontech.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | tpm: eventlog: Declare mapping_size __maybe_unused | expand |
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: ] Why do we care clang-19 with 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.... Only one instance that demonstrates the issue please. > > Suggested-by: Chen Linxuan <chenlinxuan@uniontech.com> > Signed-off-by: WangYuli <wangyuli@uniontech.com> > --- > 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; > void *marker; > void *marker_start; > u32 halg_size; > -- > 2.47.2 > > BR, Jarkko
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@uniontech.com> > Signed-off-by: WangYuli <wangyuli@uniontech.com> > --- > 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
Hi Jarkko, On 2025/3/12 14:20, Jarkko Sakkinen wrote: > Why do we care clang-19 with W=1e? 1. the kernel, being a software endeavor predicated on robustness, should not normally countenance build failures stemming from toolchain and compilation setups that are implicitly project-approved. 2. Besides, it's not as if GCC is immune to "unused-but-set-variable" warnings. The thing is, I just happen to be using clang-19 for kernel builds. > Only one instance that demonstrates the issue please. Thanks for the feedback, I'll be more mindful going forward.
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; void *marker; void *marker_start; u32 halg_size;
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@uniontech.com> Signed-off-by: WangYuli <wangyuli@uniontech.com> --- include/linux/tpm_eventlog.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)