[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49b58181-90da-4ee4-cbb0-80e226d040fc@infradead.org>
Date: Tue, 11 Jun 2019 19:39:51 -0700
From: Randy Dunlap <rdunlap@...radead.org>
To: Matteo Croce <mcroce@...hat.com>
Cc: David Miller <davem@...emloft.net>,
netdev <netdev@...r.kernel.org>,
Linux Next Mailing List <linux-next@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
David Ahern <dsahern@...il.com>,
LKML <linux-kernel@...r.kernel.org>,
linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH net] mpls: fix af_mpls dependencies
On 6/11/19 5:08 PM, Matteo Croce wrote:
> On Wed, Jun 12, 2019 at 1:07 AM Randy Dunlap <rdunlap@...radead.org> wrote:
>>
>> On 6/9/19 7:57 PM, David Miller wrote:
>>> From: Matteo Croce <mcroce@...hat.com>
>>> Date: Sat, 8 Jun 2019 14:50:19 +0200
>>>
>>>> MPLS routing code relies on sysctl to work, so let it select PROC_SYSCTL.
>>>>
>>>> Reported-by: Randy Dunlap <rdunlap@...radead.org>
>>>> Suggested-by: David Ahern <dsahern@...il.com>
>>>> Signed-off-by: Matteo Croce <mcroce@...hat.com>
>>>
>>> Applied, thanks.
>>>
>>
>> This patch causes build errors when
>> # CONFIG_PROC_FS is not set
>> because PROC_SYSCTL depends on PROC_FS. The build errors are not
>> in fs/proc/ but in other places in the kernel that never expect to see
>> PROC_FS not set but PROC_SYSCTL=y.
>>
>
> Hi,
>
> Maybe I'm missing something, if PROC_SYSCTL depends on PROC_FS, how is
> possible to have PROC_FS not set but PROC_SYSCTL=y?
When MPLS=y and MPLS_ROUTING=[y|m], MPLS_ROUTING selects PROC_SYSCTL.
That enables PROC_SYSCTL, whether PROC_FS is set/enabled or not.
There is a warning about this in Documentation/kbuild/kconfig-language.rst:
Note:
select should be used with care. select will force
a symbol to a value without visiting the dependencies.
By abusing select you are able to select a symbol FOO even
if FOO depends on BAR that is not set.
In general use select only for non-visible symbols
(no prompts anywhere) and for symbols with no dependencies.
That will limit the usefulness but on the other hand avoid
the illegal configurations all over.
> I tried it by manually editing .config. but make oldconfig warns:
>
> WARNING: unmet direct dependencies detected for PROC_SYSCTL
> Depends on [n]: PROC_FS [=n]
> Selected by [m]:
> - MPLS_ROUTING [=m] && NET [=y] && MPLS [=y] && (NET_IP_TUNNEL [=n]
> || NET_IP_TUNNEL [=n]=n)
Yes, I get this also.
> *
> * Restart config...
> *
> *
> * Configure standard kernel features (expert users)
> *
> Configure standard kernel features (expert users) (EXPERT) [Y/?] y
> Multiple users, groups and capabilities support (MULTIUSER) [Y/n/?] y
> sgetmask/ssetmask syscalls support (SGETMASK_SYSCALL) [N/y/?] n
> Sysfs syscall support (SYSFS_SYSCALL) [N/y/?] n
> Sysctl syscall support (SYSCTL_SYSCALL) [N/y/?] (NEW)
So I still say that MPLS_ROUTING should depend on PROC_SYSCTL,
not select it.
--
~Randy
Powered by blists - more mailing lists