firmware_config_table has references to the sysctl code which triggers a build failure when CONFIG_PROC_SYSCTL is not set: ld: drivers/base/firmware_loader/fallback_table.o:(.data+0x30): undefined reference to `sysctl_vals' ld: drivers/base/firmware_loader/fallback_table.o:(.data+0x38): undefined reference to `sysctl_vals' ld: drivers/base/firmware_loader/fallback_table.o:(.data+0x70): undefined reference to `sysctl_vals' ld: drivers/base/firmware_loader/fallback_table.o:(.data+0x78): undefined reference to `sysctl_vals' Put the firmware_config_table struct under #ifdef CONFIG_PROC_SYSCTL. Fixes: 6a33853c5773 ("proc/sysctl: add shared variables for range check") Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Matteo Croce <mcroce@xxxxxxxxxx> --- drivers/base/firmware_loader/fallback_table.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/base/firmware_loader/fallback_table.c b/drivers/base/firmware_loader/fallback_table.c index 58d4a1263480..18d646777fb9 100644 --- a/drivers/base/firmware_loader/fallback_table.c +++ b/drivers/base/firmware_loader/fallback_table.c @@ -23,6 +23,8 @@ struct firmware_fallback_config fw_fallback_config = { }; EXPORT_SYMBOL_GPL(fw_fallback_config); +#ifdef CONFIG_PROC_SYSCTL + struct ctl_table firmware_config_table[] = { { .procname = "force_sysfs_fallback", @@ -45,3 +47,5 @@ struct ctl_table firmware_config_table[] = { { } }; EXPORT_SYMBOL_GPL(firmware_config_table); + +#endif -- 2.21.0