2019-05-31 01:28:21

by Matteo Croce

[permalink] [raw]
Subject: [PATCH] firmware_loader: fix build without sysctl

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 <[email protected]>
Signed-off-by: Matteo Croce <[email protected]>
---
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


2019-05-31 01:34:09

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [PATCH] firmware_loader: fix build without sysctl

Hi all,

[Just cc'ing Andrew who is currently carrying the patch that this fixes.]

On Fri, 31 May 2019 03:26:49 +0200 Matteo Croce <[email protected]> wrote:
>
> 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 <[email protected]>
> Signed-off-by: Matteo Croce <[email protected]>
> ---
> 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
>

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2019-05-31 01:39:17

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [PATCH] firmware_loader: fix build without sysctl

Hi all,

On Fri, 31 May 2019 03:26:49 +0200 Matteo Croce <[email protected]> wrote:
>
> 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 <[email protected]>
> Signed-off-by: Matteo Croce <[email protected]>

I have added this to linux-next today.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2019-05-31 02:17:35

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] firmware_loader: fix build without sysctl

On 5/30/19 6:26 PM, Matteo Croce wrote:
> 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 <[email protected]>
> Signed-off-by: Matteo Croce <[email protected]>

Works for me.

Acked-by: Randy Dunlap <[email protected]> # build-tested

Thanks.

> ---
> 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
>


--
~Randy

2019-05-31 09:16:41

by Matteo Croce

[permalink] [raw]
Subject: Re: [PATCH] firmware_loader: fix build without sysctl

On Fri, May 31, 2019 at 4:15 AM Randy Dunlap <[email protected]> wrote:
>
> On 5/30/19 6:26 PM, Matteo Croce wrote:
> > 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 <[email protected]>
> > Signed-off-by: Matteo Croce <[email protected]>
>
> Works for me.
>
> Acked-by: Randy Dunlap <[email protected]> # build-tested
>
> Thanks.
>
> > ---
> > 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
> >
>
>
> --
> ~Randy

Hi,

please correct the Fixes tag if possible.
It seems that the hash of the offending commit now is d91bff3011cf

Regards,
--
Matteo Croce
per aspera ad upstream

2019-06-01 02:16:22

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [PATCH] firmware_loader: fix build without sysctl

Hi Matteo,

On Fri, 31 May 2019 11:12:39 +0200 Matteo Croce <[email protected]> wrote:
>
> please correct the Fixes tag if possible.
> It seems that the hash of the offending commit now is d91bff3011cf

Unfortunately, these hashes will keep changing for things in Andrew's
patch queue until they are sent to Linus. In the end Andrew will
probably just squash this fix into the original patch.


Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature