diff mbox series

configs/debug: add NET debug config

Message ID 20240212-kconfig-debug-enable-net-v1-1-fb026de8174c@kernel.org (mailing list archive)
State Accepted
Commit 3738d710af51286d3814332343d10b0c745eaa12
Headers show
Series configs/debug: add NET debug config | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Matthieu Baerts Feb. 12, 2024, 10:47 a.m. UTC
The debug.config file is really great to easily enable a bunch of
general debugging features on a CI-like setup. But it would be great to
also include core networking debugging config.

A few CI's validating features from the Net tree also enable a few other
debugging options on top of debug.config. A small selection is quite
generic for the whole net tree. They validate some assumptions in
different parts of the core net tree. As suggested by Jakub Kicinski in
[1], having them added to this debug.config file would help other CIs
using network features to find bugs in this area.

Note that the two REFCNT configs also select REF_TRACKER, which doesn't
seem to be an issue.

Link: https://lore.kernel.org/netdev/20240202093148.33bd2b14@kernel.org/T/ [1]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Notes:
  - It looks like this debug.config doesn't have a specific maintainer.
    If this patch is not rejected, I don't know if this modification can
    go through the net tree, or if it should be handled by Andrew.
    Probably the latter? I didn't add [net-next] in the subject for this
    reason.
---
 kernel/configs/debug.config | 6 ++++++
 1 file changed, 6 insertions(+)


---
base-commit: 841c35169323cd833294798e58b9bf63fa4fa1de
change-id: 20240212-kconfig-debug-enable-net-c2dc61002252

Best regards,

Comments

Kees Cook Feb. 12, 2024, 6:39 p.m. UTC | #1
On Mon, Feb 12, 2024 at 11:47:14AM +0100, Matthieu Baerts (NGI0) wrote:
> The debug.config file is really great to easily enable a bunch of
> general debugging features on a CI-like setup. But it would be great to
> also include core networking debugging config.
> 
> A few CI's validating features from the Net tree also enable a few other
> debugging options on top of debug.config. A small selection is quite
> generic for the whole net tree. They validate some assumptions in
> different parts of the core net tree. As suggested by Jakub Kicinski in
> [1], having them added to this debug.config file would help other CIs
> using network features to find bugs in this area.
> 
> Note that the two REFCNT configs also select REF_TRACKER, which doesn't
> seem to be an issue.
> 
> Link: https://lore.kernel.org/netdev/20240202093148.33bd2b14@kernel.org/T/ [1]
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> ---
> Notes:
>   - It looks like this debug.config doesn't have a specific maintainer.
>     If this patch is not rejected, I don't know if this modification can
>     go through the net tree, or if it should be handled by Andrew.
>     Probably the latter? I didn't add [net-next] in the subject for this
>     reason.

Adding these seem reasonable. I touched debug.config last, so I can take
it via the kernel hardening tree if netdev doesn't want to take it.

Reviewed-by: Kees Cook <keescook@chromium.org>

-Kees

> ---
>  kernel/configs/debug.config | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/kernel/configs/debug.config b/kernel/configs/debug.config
> index 4722b998a324..509ee703de15 100644
> --- a/kernel/configs/debug.config
> +++ b/kernel/configs/debug.config
> @@ -40,6 +40,12 @@ CONFIG_UBSAN_ENUM=y
>  CONFIG_UBSAN_SHIFT=y
>  CONFIG_UBSAN_UNREACHABLE=y
>  #
> +# Networking Debugging
> +#
> +CONFIG_NET_DEV_REFCNT_TRACKER=y
> +CONFIG_NET_NS_REFCNT_TRACKER=y
> +CONFIG_DEBUG_NET=y
> +#
>  # Memory Debugging
>  #
>  # CONFIG_DEBUG_PAGEALLOC is not set
> 
> ---
> base-commit: 841c35169323cd833294798e58b9bf63fa4fa1de
> change-id: 20240212-kconfig-debug-enable-net-c2dc61002252
> 
> Best regards,
> -- 
> Matthieu Baerts (NGI0) <matttbe@kernel.org>
>
Jakub Kicinski Feb. 13, 2024, 1:02 a.m. UTC | #2
On Mon, 12 Feb 2024 10:39:55 -0800 Kees Cook wrote:
> > Notes:
> >   - It looks like this debug.config doesn't have a specific maintainer.
> >     If this patch is not rejected, I don't know if this modification can
> >     go through the net tree, or if it should be handled by Andrew.
> >     Probably the latter? I didn't add [net-next] in the subject for this
> >     reason.  
> 
> Adding these seem reasonable. I touched debug.config last, so I can take
> it via the kernel hardening tree if netdev doesn't want to take it.

I'd prefer to have it in net-next sooner rather than later, because
when our CI hits an issue we can tell people:

	make defconfig debug.config
	make

otherwise I have to explain what options to twiddle with. And the
refcount options do catch bugs, I had to do this exact the explaining
last Friday :(

So I'd offer these three options:
 - we put it on a shared branch and both pull in
 - you send to Linus within a week and we'll get it soon that way
 - we take it to net-next directly

What's your preference?
Andrew Morton Feb. 13, 2024, 1:27 a.m. UTC | #3
On Mon, 12 Feb 2024 17:02:53 -0800 Jakub Kicinski <kuba@kernel.org> wrote:

> On Mon, 12 Feb 2024 10:39:55 -0800 Kees Cook wrote:
> > > Notes:
> > >   - It looks like this debug.config doesn't have a specific maintainer.
> > >     If this patch is not rejected, I don't know if this modification can
> > >     go through the net tree, or if it should be handled by Andrew.
> > >     Probably the latter? I didn't add [net-next] in the subject for this
> > >     reason.  
> > 
> > Adding these seem reasonable. I touched debug.config last, so I can take
> > it via the kernel hardening tree if netdev doesn't want to take it.
> 
> I'd prefer to have it in net-next sooner rather than later, because
> when our CI hits an issue we can tell people:
> 
> 	make defconfig debug.config
> 	make
> 
> otherwise I have to explain what options to twiddle with. And the
> refcount options do catch bugs, I had to do this exact the explaining
> last Friday :(
> 
> So I'd offer these three options:
>  - we put it on a shared branch and both pull in
>  - you send to Linus within a week and we'll get it soon that way
>  - we take it to net-next directly
> 
> What's your preference?

It's a net patch.  Put it in the net tree.
Kees Cook Feb. 13, 2024, 1:52 a.m. UTC | #4
On February 12, 2024 5:02:53 PM PST, Jakub Kicinski <kuba@kernel.org> wrote:
>On Mon, 12 Feb 2024 10:39:55 -0800 Kees Cook wrote:
>> > Notes:
>> >   - It looks like this debug.config doesn't have a specific maintainer.
>> >     If this patch is not rejected, I don't know if this modification can
>> >     go through the net tree, or if it should be handled by Andrew.
>> >     Probably the latter? I didn't add [net-next] in the subject for this
>> >     reason.  
>> 
>> Adding these seem reasonable. I touched debug.config last, so I can take
>> it via the kernel hardening tree if netdev doesn't want to take it.
>
>I'd prefer to have it in net-next sooner rather than later, because
>when our CI hits an issue we can tell people:
>
>	make defconfig debug.config
>	make
>
>otherwise I have to explain what options to twiddle with. And the
>refcount options do catch bugs, I had to do this exact the explaining
>last Friday :(
>
>So I'd offer these three options:
> - we put it on a shared branch and both pull in
> - you send to Linus within a week and we'll get it soon that way
> - we take it to net-next directly
>
>What's your preference?

Totally fine in net-next! Go for it. :)

-Kees
patchwork-bot+netdevbpf@kernel.org Feb. 16, 2024, 1:50 a.m. UTC | #5
Hello:

This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Mon, 12 Feb 2024 11:47:14 +0100 you wrote:
> The debug.config file is really great to easily enable a bunch of
> general debugging features on a CI-like setup. But it would be great to
> also include core networking debugging config.
> 
> A few CI's validating features from the Net tree also enable a few other
> debugging options on top of debug.config. A small selection is quite
> generic for the whole net tree. They validate some assumptions in
> different parts of the core net tree. As suggested by Jakub Kicinski in
> [1], having them added to this debug.config file would help other CIs
> using network features to find bugs in this area.
> 
> [...]

Here is the summary with links:
  - configs/debug: add NET debug config
    https://git.kernel.org/netdev/net-next/c/3738d710af51

You are awesome, thank you!
diff mbox series

Patch

diff --git a/kernel/configs/debug.config b/kernel/configs/debug.config
index 4722b998a324..509ee703de15 100644
--- a/kernel/configs/debug.config
+++ b/kernel/configs/debug.config
@@ -40,6 +40,12 @@  CONFIG_UBSAN_ENUM=y
 CONFIG_UBSAN_SHIFT=y
 CONFIG_UBSAN_UNREACHABLE=y
 #
+# Networking Debugging
+#
+CONFIG_NET_DEV_REFCNT_TRACKER=y
+CONFIG_NET_NS_REFCNT_TRACKER=y
+CONFIG_DEBUG_NET=y
+#
 # Memory Debugging
 #
 # CONFIG_DEBUG_PAGEALLOC is not set