bpf: merge two CONFIG_BPF entries

Message ID 20240204075634.32969-1-masahiroy@kernel.org
State New
Headers
Series bpf: merge two CONFIG_BPF entries |

Commit Message

Masahiro Yamada Feb. 4, 2024, 7:56 a.m. UTC
  'config BPF' exists in both init/Kconfig and kernel/bpf/Kconfig.

Commit b24abcff918a ("bpf, kconfig: Add consolidated menu entry for bpf
with core options") added the second one to kernel/bpf/Kconfig instead
of moving the existing one.

Merge them together.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 init/Kconfig       | 5 -----
 kernel/bpf/Kconfig | 1 +
 2 files changed, 1 insertion(+), 5 deletions(-)
  

Comments

Yonghong Song Feb. 4, 2024, 6:10 p.m. UTC | #1
On 2/3/24 11:56 PM, Masahiro Yamada wrote:
> 'config BPF' exists in both init/Kconfig and kernel/bpf/Kconfig.
>
> Commit b24abcff918a ("bpf, kconfig: Add consolidated menu entry for bpf
> with core options") added the second one to kernel/bpf/Kconfig instead
> of moving the existing one.
>
> Merge them together.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
>
>   init/Kconfig       | 5 -----
>   kernel/bpf/Kconfig | 1 +
>   2 files changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/init/Kconfig b/init/Kconfig
> index 8d4e836e1b6b..46ccad83a664 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1457,11 +1457,6 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
>   config HAVE_PCSPKR_PLATFORM
>   	bool
>   
> -# interpreter that classic socket filters depend on
> -config BPF
> -	bool
> -	select CRYPTO_LIB_SHA1
> -
>   menuconfig EXPERT
>   	bool "Configure standard kernel features (expert users)"
>   	# Unhide debug options, to make the on-by-default options visible
> diff --git a/kernel/bpf/Kconfig b/kernel/bpf/Kconfig
> index 6a906ff93006..bc25f5098a25 100644
> --- a/kernel/bpf/Kconfig
> +++ b/kernel/bpf/Kconfig
> @@ -3,6 +3,7 @@
>   # BPF interpreter that, for example, classic socket filters depend on.
>   config BPF
>   	bool
> +	select CRYPTO_LIB_SHA1

Currently, the kernel/bpf directory is guarded with CONFIG_BPF
   obj-$(CONFIG_BPF) += bpf/
in kernel/bpf/Makefile.

Your patch probably works since there are lots of some other BPF related
configurations which requires CONFIG_BPF. But maybe we sould
keep 'config BPF' in init/Kconfig and remove 'config BPF'
in kernel/bpf/Kconfig. This will be less confusing?

>   
>   # Used by archs to tell that they support BPF JIT compiler plus which
>   # flavour. Only one of the two can be selected for a specific arch since
  
Masahiro Yamada Feb. 4, 2024, 11:37 p.m. UTC | #2
On Mon, Feb 5, 2024 at 3:11 AM Yonghong Song <yonghong.song@linux.dev> wrote:
>
>
> On 2/3/24 11:56 PM, Masahiro Yamada wrote:
> > 'config BPF' exists in both init/Kconfig and kernel/bpf/Kconfig.
> >
> > Commit b24abcff918a ("bpf, kconfig: Add consolidated menu entry for bpf
> > with core options") added the second one to kernel/bpf/Kconfig instead
> > of moving the existing one.
> >
> > Merge them together.
> >
> > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> > ---
> >
> >   init/Kconfig       | 5 -----
> >   kernel/bpf/Kconfig | 1 +
> >   2 files changed, 1 insertion(+), 5 deletions(-)
> >
> > diff --git a/init/Kconfig b/init/Kconfig
> > index 8d4e836e1b6b..46ccad83a664 100644
> > --- a/init/Kconfig
> > +++ b/init/Kconfig
> > @@ -1457,11 +1457,6 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
> >   config HAVE_PCSPKR_PLATFORM
> >       bool
> >
> > -# interpreter that classic socket filters depend on
> > -config BPF
> > -     bool
> > -     select CRYPTO_LIB_SHA1
> > -
> >   menuconfig EXPERT
> >       bool "Configure standard kernel features (expert users)"
> >       # Unhide debug options, to make the on-by-default options visible
> > diff --git a/kernel/bpf/Kconfig b/kernel/bpf/Kconfig
> > index 6a906ff93006..bc25f5098a25 100644
> > --- a/kernel/bpf/Kconfig
> > +++ b/kernel/bpf/Kconfig
> > @@ -3,6 +3,7 @@
> >   # BPF interpreter that, for example, classic socket filters depend on.
> >   config BPF
> >       bool
> > +     select CRYPTO_LIB_SHA1
>
> Currently, the kernel/bpf directory is guarded with CONFIG_BPF
>    obj-$(CONFIG_BPF) += bpf/
> in kernel/bpf/Makefile.


Wrong.

"in kernel/Makefile".


Why is it related to this patch?



> Your patch probably works since there are lots of some other BPF related
> configurations which requires CONFIG_BPF. But maybe we sould
> keep 'config BPF' in init/Kconfig and remove 'config BPF'
> in kernel/bpf/Kconfig. This will be less confusing?


Why?



> >
> >   # Used by archs to tell that they support BPF JIT compiler plus which
> >   # flavour. Only one of the two can be selected for a specific arch since
  
Yonghong Song Feb. 5, 2024, 12:22 a.m. UTC | #3
On 2/4/24 3:37 PM, Masahiro Yamada wrote:
> On Mon, Feb 5, 2024 at 3:11 AM Yonghong Song <yonghong.song@linux.dev> wrote:
>>
>> On 2/3/24 11:56 PM, Masahiro Yamada wrote:
>>> 'config BPF' exists in both init/Kconfig and kernel/bpf/Kconfig.
>>>
>>> Commit b24abcff918a ("bpf, kconfig: Add consolidated menu entry for bpf
>>> with core options") added the second one to kernel/bpf/Kconfig instead
>>> of moving the existing one.
>>>
>>> Merge them together.
>>>
>>> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
>>> ---
>>>
>>>    init/Kconfig       | 5 -----
>>>    kernel/bpf/Kconfig | 1 +
>>>    2 files changed, 1 insertion(+), 5 deletions(-)
>>>
>>> diff --git a/init/Kconfig b/init/Kconfig
>>> index 8d4e836e1b6b..46ccad83a664 100644
>>> --- a/init/Kconfig
>>> +++ b/init/Kconfig
>>> @@ -1457,11 +1457,6 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
>>>    config HAVE_PCSPKR_PLATFORM
>>>        bool
>>>
>>> -# interpreter that classic socket filters depend on
>>> -config BPF
>>> -     bool
>>> -     select CRYPTO_LIB_SHA1
>>> -
>>>    menuconfig EXPERT
>>>        bool "Configure standard kernel features (expert users)"
>>>        # Unhide debug options, to make the on-by-default options visible
>>> diff --git a/kernel/bpf/Kconfig b/kernel/bpf/Kconfig
>>> index 6a906ff93006..bc25f5098a25 100644
>>> --- a/kernel/bpf/Kconfig
>>> +++ b/kernel/bpf/Kconfig
>>> @@ -3,6 +3,7 @@
>>>    # BPF interpreter that, for example, classic socket filters depend on.
>>>    config BPF
>>>        bool
>>> +     select CRYPTO_LIB_SHA1
>> Currently, the kernel/bpf directory is guarded with CONFIG_BPF
>>     obj-$(CONFIG_BPF) += bpf/
>> in kernel/bpf/Makefile.
>
> Wrong.
>
> "in kernel/Makefile".
>
>
> Why is it related to this patch?

Sorry, my obvious mistake.

>
>
>
>> Your patch probably works since there are lots of some other BPF related
>> configurations which requires CONFIG_BPF. But maybe we sould
>> keep 'config BPF' in init/Kconfig and remove 'config BPF'
>> in kernel/bpf/Kconfig. This will be less confusing?
>
> Why?

The 'less confusing' part is just my initial feeling. I found
some CGROUP related configs are defined in init/Kconfig but not
under kernel/cgroup directory. So I thought 'config BPF' could
stay in init/Kconfig as well.

But I just did some other checking. For example, 'config NET'
is actually under 'net' directory. So probably you are right,
let us remove the one in init/Kconfig and use the one
in kernel/bpf/Kconfig.

So

Acked-by: Yonghong Song <yonghong.song@linux.dev>

>
>
>
>>>    # Used by archs to tell that they support BPF JIT compiler plus which
>>>    # flavour. Only one of the two can be selected for a specific arch since
>
>
  
patchwork-bot+netdevbpf@kernel.org Feb. 8, 2024, 12:40 a.m. UTC | #4
Hello:

This patch was applied to bpf/bpf-next.git (master)
by Andrii Nakryiko <andrii@kernel.org>:

On Sun,  4 Feb 2024 16:56:34 +0900 you wrote:
> 'config BPF' exists in both init/Kconfig and kernel/bpf/Kconfig.
> 
> Commit b24abcff918a ("bpf, kconfig: Add consolidated menu entry for bpf
> with core options") added the second one to kernel/bpf/Kconfig instead
> of moving the existing one.
> 
> Merge them together.
> 
> [...]

Here is the summary with links:
  - bpf: merge two CONFIG_BPF entries
    https://git.kernel.org/bpf/bpf-next/c/e55dad12abe4

You are awesome, thank you!
  

Patch

diff --git a/init/Kconfig b/init/Kconfig
index 8d4e836e1b6b..46ccad83a664 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1457,11 +1457,6 @@  config SYSCTL_ARCH_UNALIGN_ALLOW
 config HAVE_PCSPKR_PLATFORM
 	bool
 
-# interpreter that classic socket filters depend on
-config BPF
-	bool
-	select CRYPTO_LIB_SHA1
-
 menuconfig EXPERT
 	bool "Configure standard kernel features (expert users)"
 	# Unhide debug options, to make the on-by-default options visible
diff --git a/kernel/bpf/Kconfig b/kernel/bpf/Kconfig
index 6a906ff93006..bc25f5098a25 100644
--- a/kernel/bpf/Kconfig
+++ b/kernel/bpf/Kconfig
@@ -3,6 +3,7 @@ 
 # BPF interpreter that, for example, classic socket filters depend on.
 config BPF
 	bool
+	select CRYPTO_LIB_SHA1
 
 # Used by archs to tell that they support BPF JIT compiler plus which
 # flavour. Only one of the two can be selected for a specific arch since