On 6/14/19 7:26 AM, Arnd Bergmann wrote: > On Fri, Jun 14, 2019 at 4:07 PM David Ahern <dsahern@xxxxxxxxx> wrote: >> On 6/14/19 8:01 AM, Arnd Bergmann wrote: >>> On Wed, Jun 12, 2019 at 9:41 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: >>>> On 6/11/19 5:08 PM, Matteo Croce wrote: >>> >>> It clearly shouldn't select PROC_SYSCTL, but I think it should not >>> have a 'depends on' statement either. I think the correct fix for the >>> original problem would have been something like >>> >>> --- a/net/mpls/af_mpls.c >>> +++ b/net/mpls/af_mpls.c >>> @@ -2659,6 +2659,9 @@ static int mpls_net_init(struct net *net) >>> net->mpls.ip_ttl_propagate = 1; >>> net->mpls.default_ttl = 255; >>> >>> + if (!IS_ENABLED(CONFIG_PROC_SYSCTL)) >>> + return 0; >>> + >>> table = kmemdup(mpls_table, sizeof(mpls_table), GFP_KERNEL); >>> if (table == NULL) >>> return -ENOMEM; >>> >> >> Without sysctl, the entire mpls_router code is disabled. So if sysctl is >> not enabled there is no point in building this file. > > Ok, I see. > > There are a couple of other drivers that use 'depends on SYSCTL', > which may be the right thing to do here. In theory, one can still > build a kernel with CONFIG_SYSCTRL_SYSCALL=y and no > procfs. Yes, that makes sense. -- ~Randy