2024-02-12 10:52:41

by Matthieu Baerts (NGI0)

[permalink] [raw]
Subject: [PATCH] configs/debug: add NET debug config

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/[email protected]/T/ [1]
Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
---
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(+)

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) <[email protected]>



2024-02-12 18:40:11

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] configs/debug: add NET debug config

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/[email protected]/T/ [1]
> Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
> ---
> 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 <[email protected]>

-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) <[email protected]>
>

--
Kees Cook

2024-02-13 01:39:18

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH] configs/debug: add NET debug config

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?

2024-02-13 01:48:48

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] configs/debug: add NET debug config

On Mon, 12 Feb 2024 17:02:53 -0800 Jakub Kicinski <[email protected]> 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.

2024-02-13 01:53:26

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] configs/debug: add NET debug config



On February 12, 2024 5:02:53 PM PST, Jakub Kicinski <[email protected]> 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


--
Kees Cook

2024-02-16 01:53:44

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH] configs/debug: add NET debug config

Hello:

This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <[email protected]>:

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!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html