Message ID | 20190617130014.1713870-1-arnd@arndb.de |
---|---|
State | New |
Headers | show |
Series | proc/sysctl: make firmware loader table conditional | expand |
On Mon, Jun 17, 2019 at 3:00 PM Arnd Bergmann <arnd@arndb.de> wrote: > > We get a link error in the firmware loader fallback table, > which now refers to the global sysctl_vals variable: > > drivers/base/firmware_loader/fallback_table.o:(.data+0x2c): undefined reference to `sysctl_vals' > drivers/base/firmware_loader/fallback_table.o:(.data+0x30): undefined reference to `sysctl_vals' > drivers/base/firmware_loader/fallback_table.o:(.data+0x50): undefined reference to `sysctl_vals' > drivers/base/firmware_loader/fallback_table.o:(.data+0x54): undefined reference to `sysctl_vals' > > Add an #ifdef that only builds that table when it is being > used. > > Fixes: c81c506545f4 ("proc/sysctl: add shared variables for range check") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/base/firmware_loader/fallback_table.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/base/firmware_loader/fallback_table.c b/drivers/base/firmware_loader/fallback_table.c > index 58d4a1263480..ba9d30b28edc 100644 > --- a/drivers/base/firmware_loader/fallback_table.c > +++ b/drivers/base/firmware_loader/fallback_table.c > @@ -23,6 +23,7 @@ struct firmware_fallback_config fw_fallback_config = { > }; > EXPORT_SYMBOL_GPL(fw_fallback_config); > > +#ifdef CONFIG_SYSCTL > struct ctl_table firmware_config_table[] = { > { > .procname = "force_sysfs_fallback", > @@ -45,3 +46,4 @@ struct ctl_table firmware_config_table[] = { > { } > }; > EXPORT_SYMBOL_GPL(firmware_config_table); > +#endif > -- > 2.20.0 > Hi Arnd, I think I've posted a similar patch before, I don't know if it's already in linux-next: https://lore.kernel.org/linux-next/20190531012649.31797-1-mcroce@redhat.com/ Regards, -- Matteo Croce per aspera ad upstream
On Mon, Jun 17, 2019 at 4:42 PM Matteo Croce <mcroce@redhat.com> wrote: > > drivers/base/firmware_loader/fallback_table.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/base/firmware_loader/fallback_table.c b/drivers/base/firmware_loader/fallback_table.c > > index 58d4a1263480..ba9d30b28edc 100644 > > --- a/drivers/base/firmware_loader/fallback_table.c > > +++ b/drivers/base/firmware_loader/fallback_table.c > > @@ -23,6 +23,7 @@ struct firmware_fallback_config fw_fallback_config = { > > }; > > EXPORT_SYMBOL_GPL(fw_fallback_config); > > > > +#ifdef CONFIG_SYSCTL > > struct ctl_table firmware_config_table[] = { > > { > > .procname = "force_sysfs_fallback", > > @@ -45,3 +46,4 @@ struct ctl_table firmware_config_table[] = { > > { } > > }; > > EXPORT_SYMBOL_GPL(firmware_config_table); > > +#endif > > -- > > 2.20.0 > > > > Hi Arnd, > > I think I've posted a similar patch before, I don't know if it's > already in linux-next: > > https://lore.kernel.org/linux-next/20190531012649.31797-1-mcroce@redhat.com/ > Indeed, that is almost the same patch. Not sure what happened. As Stephen replied to your patch, he had picked it up originally. Maybe it got lost in a rebase since then. Arnd
diff --git a/drivers/base/firmware_loader/fallback_table.c b/drivers/base/firmware_loader/fallback_table.c index 58d4a1263480..ba9d30b28edc 100644 --- a/drivers/base/firmware_loader/fallback_table.c +++ b/drivers/base/firmware_loader/fallback_table.c @@ -23,6 +23,7 @@ struct firmware_fallback_config fw_fallback_config = { }; EXPORT_SYMBOL_GPL(fw_fallback_config); +#ifdef CONFIG_SYSCTL struct ctl_table firmware_config_table[] = { { .procname = "force_sysfs_fallback", @@ -45,3 +46,4 @@ struct ctl_table firmware_config_table[] = { { } }; EXPORT_SYMBOL_GPL(firmware_config_table); +#endif
We get a link error in the firmware loader fallback table, which now refers to the global sysctl_vals variable: drivers/base/firmware_loader/fallback_table.o:(.data+0x2c): undefined reference to `sysctl_vals' drivers/base/firmware_loader/fallback_table.o:(.data+0x30): undefined reference to `sysctl_vals' drivers/base/firmware_loader/fallback_table.o:(.data+0x50): undefined reference to `sysctl_vals' drivers/base/firmware_loader/fallback_table.o:(.data+0x54): undefined reference to `sysctl_vals' Add an #ifdef that only builds that table when it is being used. Fixes: c81c506545f4 ("proc/sysctl: add shared variables for range check") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/base/firmware_loader/fallback_table.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.20.0