On Fri, Jun 7, 2019 at 7:14 PM David Ahern <dsah...@gmail.com> wrote:
>
> On 6/6/19 6:36 PM, Matteo Croce wrote:
> > Some sysctl related code and data structures is never referenced
> > when CONFIG_SYSCTL is not set.
> > While this is usually harmless, it produces a build failure since sysctl
> > shared variables exists, due to missing sysctl_vals symbol:
> >
> >     ld: net/mpls/af_mpls.o: in function `mpls_platform_labels':
> >     af_mpls.c:(.text+0x162a): undefined reference to `sysctl_vals'
> >     ld: net/mpls/af_mpls.o:(.rodata+0x830): undefined reference to 
> > `sysctl_vals'
> >     ld: net/mpls/af_mpls.o:(.rodata+0x838): undefined reference to 
> > `sysctl_vals'
> >     ld: net/mpls/af_mpls.o:(.rodata+0x870): undefined reference to 
> > `sysctl_vals'
> >
> > Fix this by moving all sysctl related code under #ifdef CONFIG_SYSCTL
> >
> > Reported-by: Randy Dunlap <rdun...@infradead.org>
> > Signed-off-by: Matteo Croce <mcr...@redhat.com>
> > ---
> >
> > v1 -> v2: fix a crash on netns destroy
> >
> >  net/mpls/af_mpls.c | 393 ++++++++++++++++++++++++---------------------
> >  1 file changed, 207 insertions(+), 186 deletions(-)
> >
>
> As I recall you need to set platform_labels for the mpls code to even
> work, so building mpls_router without sysctl is pointless.

This would explain why so much code went under the #ifdef.
Should we select or depend on sysctl maybe?

Regards,
-- 
Matteo Croce
per aspera ad upstream

Reply via email to