The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH 0/4] x86/boot/compressed: Enable -Wunused and remove unused variables
@ 2026-06-21 14:41 Thorsten Blum
  2026-06-21 14:41 ` [PATCH 1/4] x86/boot/compressed: Remove unused variables in EFI helpers Thorsten Blum
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Thorsten Blum @ 2026-06-21 14:41 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen,
	H. Peter Anvin, Ard Biesheuvel, Nathan Chancellor, Nicolas Schier
  Cc: x86, linux-kernel, Thorsten Blum

This series removes unused variables and enables -Wunused, matching the
W=0 kernel defaults. With WERROR=y, the warnings failed as follows:

  arch/x86/boot/compressed/acpi.c:29:6: error: unused variable 'ret'
  arch/x86/boot/compressed/acpi.c:57:15: error: unused variable 'nr_tables'
  arch/x86/boot/compressed/efi.c:64:16: error: unused variable 'et'
  arch/x86/boot/compressed/efi.c:136:6: error: unused variable 'ret'

Patch 2 also drops a redundant efi_get_system_table() call and uses the
existing efi_get_conf_table() error path.

Thorsten Blum (4):
  x86/boot/compressed: Remove unused variables in EFI helpers
  x86/boot/compressed: Clean up EFI RSDP lookup in efi_get_rsdp_addr()
  x86/boot/compressed: Mark process_mem_region() index __maybe_unused
  x86/boot/compressed: Enable -Wunused

 arch/x86/boot/compressed/Makefile |  3 +++
 arch/x86/boot/compressed/acpi.c   | 16 +++-------------
 arch/x86/boot/compressed/efi.c    | 17 +++++------------
 arch/x86/boot/compressed/kaslr.c  |  3 ++-
 4 files changed, 13 insertions(+), 26 deletions(-)


base-commit: 1a3746ccbb0a97bed3c06ccde6b880013b1dddc1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/4] x86/boot/compressed: Remove unused variables in EFI helpers
  2026-06-21 14:41 [PATCH 0/4] x86/boot/compressed: Enable -Wunused and remove unused variables Thorsten Blum
@ 2026-06-21 14:41 ` Thorsten Blum
  2026-06-21 14:41 ` [PATCH 2/4] x86/boot/compressed: Clean up EFI RSDP lookup in efi_get_rsdp_addr() Thorsten Blum
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Thorsten Blum @ 2026-06-21 14:41 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen,
	H. Peter Anvin, Ard Biesheuvel, Nathan Chancellor, Nicolas Schier
  Cc: x86, linux-kernel, Thorsten Blum

efi_get_system_table() declares an unused efi_type variable, and
efi_get_conf_table() declares an unused ret variable - remove both.

get_kexec_setup_data() also takes an efi_type argument that is not used.
Drop the argument and update the only caller in efi_get_conf_table().

Also simplify the no EFI system table case in efi_get_system_table() by
falling through to the existing return since sys_tbl_pa is already zero.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 arch/x86/boot/compressed/efi.c | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/arch/x86/boot/compressed/efi.c b/arch/x86/boot/compressed/efi.c
index f2e50f9758e6..e0329a03618a 100644
--- a/arch/x86/boot/compressed/efi.c
+++ b/arch/x86/boot/compressed/efi.c
@@ -61,7 +61,6 @@ unsigned long efi_get_system_table(struct boot_params *bp)
 {
 	unsigned long sys_tbl_pa;
 	struct efi_info *ei;
-	enum efi_type et;
 
 	/* Get systab from boot params. */
 	ei = &bp->efi_info;
@@ -70,10 +69,8 @@ unsigned long efi_get_system_table(struct boot_params *bp)
 #else
 	sys_tbl_pa = ei->efi_systab;
 #endif
-	if (!sys_tbl_pa) {
+	if (!sys_tbl_pa)
 		debug_putstr("EFI system table not found.");
-		return 0;
-	}
 
 	return sys_tbl_pa;
 }
@@ -84,11 +81,10 @@ unsigned long efi_get_system_table(struct boot_params *bp)
  * the initial physical address via a struct setup_data entry, which is
  * checked for here, along with some sanity checks.
  */
-static struct efi_setup_data *get_kexec_setup_data(struct boot_params *bp,
-						   enum efi_type et)
+static struct efi_setup_data *get_kexec_setup_data(struct boot_params *bp)
 {
-#ifdef CONFIG_X86_64
 	struct efi_setup_data *esd = NULL;
+#ifdef CONFIG_X86_64
 	struct setup_data *data;
 	u64 pa_data;
 
@@ -112,10 +108,8 @@ static struct efi_setup_data *get_kexec_setup_data(struct boot_params *bp,
 		debug_putstr("kexec EFI environment missing valid configuration table.\n");
 		return NULL;
 	}
-
-	return esd;
 #endif
-	return NULL;
+	return esd;
 }
 
 /**
@@ -133,7 +127,6 @@ int efi_get_conf_table(struct boot_params *bp, unsigned long *cfg_tbl_pa,
 {
 	unsigned long sys_tbl_pa;
 	enum efi_type et;
-	int ret;
 
 	if (!cfg_tbl_pa || !cfg_tbl_len)
 		return -EINVAL;
@@ -149,7 +142,7 @@ int efi_get_conf_table(struct boot_params *bp, unsigned long *cfg_tbl_pa,
 		struct efi_setup_data *esd;
 
 		/* kexec provides an alternative EFI conf table, check for it. */
-		esd = get_kexec_setup_data(bp, et);
+		esd = get_kexec_setup_data(bp);
 
 		*cfg_tbl_pa = esd ? esd->tables : stbl->tables;
 		*cfg_tbl_len = stbl->nr_tables;

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/4] x86/boot/compressed: Clean up EFI RSDP lookup in efi_get_rsdp_addr()
  2026-06-21 14:41 [PATCH 0/4] x86/boot/compressed: Enable -Wunused and remove unused variables Thorsten Blum
  2026-06-21 14:41 ` [PATCH 1/4] x86/boot/compressed: Remove unused variables in EFI helpers Thorsten Blum
@ 2026-06-21 14:41 ` Thorsten Blum
  2026-06-21 14:41 ` [PATCH 3/4] x86/boot/compressed: Mark process_mem_region() index __maybe_unused Thorsten Blum
  2026-06-21 14:41 ` [PATCH 4/4] x86/boot/compressed: Enable -Wunused Thorsten Blum
  3 siblings, 0 replies; 5+ messages in thread
From: Thorsten Blum @ 2026-06-21 14:41 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen,
	H. Peter Anvin, Ard Biesheuvel, Nathan Chancellor, Nicolas Schier
  Cc: x86, linux-kernel, Thorsten Blum

Remove the unused ret variable in __efi_get_rsdp_addr() and the unused
nr_tables variable in efi_get_rsdp_addr(). Also inline variables that
are only used for simple if checks.

Since efi_get_conf_table() already calls efi_get_system_table(), drop
the redundant efi_get_system_table() call and keep a single error path.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 arch/x86/boot/compressed/acpi.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/arch/x86/boot/compressed/acpi.c b/arch/x86/boot/compressed/acpi.c
index f196b1d1ddf8..92c239d8f40b 100644
--- a/arch/x86/boot/compressed/acpi.c
+++ b/arch/x86/boot/compressed/acpi.c
@@ -26,7 +26,6 @@ __efi_get_rsdp_addr(unsigned long cfg_tbl_pa, unsigned int cfg_tbl_len)
 {
 #ifdef CONFIG_EFI
 	unsigned long rsdp_addr;
-	int ret;
 
 	/*
 	 * Search EFI system tables for RSDP. Preferred is ACPI_20_TABLE_GUID to
@@ -53,21 +52,12 @@ static acpi_physical_address efi_get_rsdp_addr(void)
 #ifdef CONFIG_EFI
 	unsigned long cfg_tbl_pa = 0;
 	unsigned int cfg_tbl_len;
-	unsigned long systab_pa;
-	unsigned int nr_tables;
-	enum efi_type et;
-	int ret;
 
-	et = efi_get_type(boot_params_ptr);
-	if (et == EFI_TYPE_NONE)
+	if (efi_get_type(boot_params_ptr) == EFI_TYPE_NONE)
 		return 0;
 
-	systab_pa = efi_get_system_table(boot_params_ptr);
-	if (!systab_pa)
-		error("EFI support advertised, but unable to locate system table.");
-
-	ret = efi_get_conf_table(boot_params_ptr, &cfg_tbl_pa, &cfg_tbl_len);
-	if (ret || !cfg_tbl_pa)
+	if (efi_get_conf_table(boot_params_ptr, &cfg_tbl_pa, &cfg_tbl_len) ||
+	    !cfg_tbl_pa)
 		error("EFI config table not found.");
 
 	return __efi_get_rsdp_addr(cfg_tbl_pa, cfg_tbl_len);

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/4] x86/boot/compressed: Mark process_mem_region() index __maybe_unused
  2026-06-21 14:41 [PATCH 0/4] x86/boot/compressed: Enable -Wunused and remove unused variables Thorsten Blum
  2026-06-21 14:41 ` [PATCH 1/4] x86/boot/compressed: Remove unused variables in EFI helpers Thorsten Blum
  2026-06-21 14:41 ` [PATCH 2/4] x86/boot/compressed: Clean up EFI RSDP lookup in efi_get_rsdp_addr() Thorsten Blum
@ 2026-06-21 14:41 ` Thorsten Blum
  2026-06-21 14:41 ` [PATCH 4/4] x86/boot/compressed: Enable -Wunused Thorsten Blum
  3 siblings, 0 replies; 5+ messages in thread
From: Thorsten Blum @ 2026-06-21 14:41 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen,
	H. Peter Anvin, Ard Biesheuvel, Nathan Chancellor, Nicolas Schier
  Cc: x86, linux-kernel, Thorsten Blum

The local index variable i in process_mem_region() is unused when either
CONFIG_MEMORY_HOTREMOVE or CONFIG_ACPI is disabled.

Mark it __maybe_unused accordingly.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 arch/x86/boot/compressed/kaslr.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/boot/compressed/kaslr.c b/arch/x86/boot/compressed/kaslr.c
index 9fb1d495c688..1d06d4bdaec4 100644
--- a/arch/x86/boot/compressed/kaslr.c
+++ b/arch/x86/boot/compressed/kaslr.c
@@ -593,7 +593,8 @@ static bool process_mem_region(struct mem_vector *region,
 			       unsigned long minimum,
 			       unsigned long image_size)
 {
-	int i;
+	int __maybe_unused i;
+
 	/*
 	 * If no immovable memory found, or MEMORY_HOTREMOVE disabled,
 	 * use @region directly.

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 4/4] x86/boot/compressed: Enable -Wunused
  2026-06-21 14:41 [PATCH 0/4] x86/boot/compressed: Enable -Wunused and remove unused variables Thorsten Blum
                   ` (2 preceding siblings ...)
  2026-06-21 14:41 ` [PATCH 3/4] x86/boot/compressed: Mark process_mem_region() index __maybe_unused Thorsten Blum
@ 2026-06-21 14:41 ` Thorsten Blum
  3 siblings, 0 replies; 5+ messages in thread
From: Thorsten Blum @ 2026-06-21 14:41 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen,
	H. Peter Anvin, Ard Biesheuvel, Nathan Chancellor, Nicolas Schier
  Cc: x86, linux-kernel, Thorsten Blum

arch/x86/boot/compressed/Makefile resets the CFLAGS for this directory,
but does not re-enable -Wunused. Therefore, unused variables and static
functions in arch/x86/boot/compressed/ currently do not emit warnings.

Add -Wunused to warn about these, and -Wno-unused-but-set-variable as
well as -Wno-unused-const-variable to match the W=0 kernel defaults.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 arch/x86/boot/compressed/Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
index 07e0e64b9a98..c1315a7b712c 100644
--- a/arch/x86/boot/compressed/Makefile
+++ b/arch/x86/boot/compressed/Makefile
@@ -28,6 +28,9 @@ KBUILD_CFLAGS := -m$(BITS) -O2 $(CLANG_FLAGS)
 KBUILD_CFLAGS += $(CC_FLAGS_DIALECT)
 KBUILD_CFLAGS += -fno-strict-aliasing -fPIE
 KBUILD_CFLAGS += -Wundef
+KBUILD_CFLAGS += -Wunused
+KBUILD_CFLAGS += -Wno-unused-but-set-variable
+KBUILD_CFLAGS += -Wno-unused-const-variable
 KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
 cflags-$(CONFIG_X86_32) := -march=i386
 cflags-$(CONFIG_X86_64) := -mcmodel=small -mno-red-zone

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-06-21 14:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-21 14:41 [PATCH 0/4] x86/boot/compressed: Enable -Wunused and remove unused variables Thorsten Blum
2026-06-21 14:41 ` [PATCH 1/4] x86/boot/compressed: Remove unused variables in EFI helpers Thorsten Blum
2026-06-21 14:41 ` [PATCH 2/4] x86/boot/compressed: Clean up EFI RSDP lookup in efi_get_rsdp_addr() Thorsten Blum
2026-06-21 14:41 ` [PATCH 3/4] x86/boot/compressed: Mark process_mem_region() index __maybe_unused Thorsten Blum
2026-06-21 14:41 ` [PATCH 4/4] x86/boot/compressed: Enable -Wunused Thorsten Blum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox