All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] configs/debug: add NET debug config
@ 2024-02-12 10:47 Matthieu Baerts (NGI0)
  2024-02-12 11:42 ` configs/debug: add NET debug config: Tests Results MPTCP CI
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Matthieu Baerts (NGI0) @ 2024-02-12 10:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Qian Cai, Kees Cook, mptcp, netdev, Andrew Morton,
	Matthieu Baerts (NGI0)

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(+)

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>


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: configs/debug: add NET debug config: Tests Results
  2024-02-12 10:47 [PATCH] configs/debug: add NET debug config Matthieu Baerts (NGI0)
@ 2024-02-12 11:42 ` MPTCP CI
  2024-02-12 12:36 ` MPTCP CI
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: MPTCP CI @ 2024-02-12 11:42 UTC (permalink / raw)
  To: Matthieu Baerts; +Cc: mptcp

Hi Matthieu,

Thank you for your modifications, that's great!

Our CI (GitHub Action) did some validations and here is its report:

- KVM Validation: normal:
  - Success! ✅:
  - Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/7870777284

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/367eed27e7e3


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-normal

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: configs/debug: add NET debug config: Tests Results
  2024-02-12 10:47 [PATCH] configs/debug: add NET debug config Matthieu Baerts (NGI0)
  2024-02-12 11:42 ` configs/debug: add NET debug config: Tests Results MPTCP CI
@ 2024-02-12 12:36 ` MPTCP CI
  2024-02-12 13:42 ` MPTCP CI
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: MPTCP CI @ 2024-02-12 12:36 UTC (permalink / raw)
  To: Matthieu Baerts; +Cc: mptcp

Hi Matthieu,

Thank you for your modifications, that's great!

Our CI (Cirrus) did some validations with a debug kernel and here is its report:

- KVM Validation: debug (except selftest_mptcp_join):
  - Script error! ❓:
  - Task: https://cirrus-ci.com/task/5661347283730432
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/5661347283730432/summary/summary.txt

- KVM Validation: debug (only selftest_mptcp_join):
  - Unstable: 1 failed test(s): selftest_mptcp_join 🔴:
  - Task: https://cirrus-ci.com/task/5098397330309120
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/5098397330309120/summary/summary.txt

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/367eed27e7e3


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-debug

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: configs/debug: add NET debug config: Tests Results
  2024-02-12 10:47 [PATCH] configs/debug: add NET debug config Matthieu Baerts (NGI0)
  2024-02-12 11:42 ` configs/debug: add NET debug config: Tests Results MPTCP CI
  2024-02-12 12:36 ` MPTCP CI
@ 2024-02-12 13:42 ` MPTCP CI
  2024-02-12 18:39 ` [PATCH] configs/debug: add NET debug config Kees Cook
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 11+ messages in thread
From: MPTCP CI @ 2024-02-12 13:42 UTC (permalink / raw)
  To: Matthieu Baerts; +Cc: mptcp

Hi Matthieu,

Thank you for your modifications, that's great!

Our CI (Cirrus) did some validations with a debug kernel and here is its report:

- KVM Validation: debug (except selftest_mptcp_join):
  - Unstable: 1 failed test(s): packetdrill_regressions 🔴:
  - Task: https://cirrus-ci.com/task/6433317642305536
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/6433317642305536/summary/summary.txt

- KVM Validation: debug (only selftest_mptcp_join):
  - Unstable: 1 failed test(s): selftest_mptcp_join 🔴:
  - Task: https://cirrus-ci.com/task/5098397330309120
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/5098397330309120/summary/summary.txt

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/367eed27e7e3


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-debug

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configs/debug: add NET debug config
  2024-02-12 10:47 [PATCH] configs/debug: add NET debug config Matthieu Baerts (NGI0)
                   ` (2 preceding siblings ...)
  2024-02-12 13:42 ` MPTCP CI
@ 2024-02-12 18:39 ` Kees Cook
  2024-02-13  1:02   ` Jakub Kicinski
  2024-02-12 19:32 ` configs/debug: add NET debug config: Tests Results MPTCP CI
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 11+ messages in thread
From: Kees Cook @ 2024-02-12 18:39 UTC (permalink / raw)
  To: Matthieu Baerts (NGI0)
  Cc: linux-kernel, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Qian Cai, mptcp, netdev, Andrew Morton

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>
> 

-- 
Kees Cook

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: configs/debug: add NET debug config: Tests Results
  2024-02-12 10:47 [PATCH] configs/debug: add NET debug config Matthieu Baerts (NGI0)
                   ` (3 preceding siblings ...)
  2024-02-12 18:39 ` [PATCH] configs/debug: add NET debug config Kees Cook
@ 2024-02-12 19:32 ` MPTCP CI
  2024-02-12 19:52 ` MPTCP CI
  2024-02-16  1:50 ` [PATCH] configs/debug: add NET debug config patchwork-bot+netdevbpf
  6 siblings, 0 replies; 11+ messages in thread
From: MPTCP CI @ 2024-02-12 19:32 UTC (permalink / raw)
  To: Matthieu Baerts; +Cc: mptcp

Hi Matthieu,

Thank you for your modifications, that's great!

Our CI (GitHub Action) did some validations and here is its report:

- KVM Validation: normal:
  - Success! ✅:
  - Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/7876550556

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/00e075ae7c82


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-normal

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: configs/debug: add NET debug config: Tests Results
  2024-02-12 10:47 [PATCH] configs/debug: add NET debug config Matthieu Baerts (NGI0)
                   ` (4 preceding siblings ...)
  2024-02-12 19:32 ` configs/debug: add NET debug config: Tests Results MPTCP CI
@ 2024-02-12 19:52 ` MPTCP CI
  2024-02-16  1:50 ` [PATCH] configs/debug: add NET debug config patchwork-bot+netdevbpf
  6 siblings, 0 replies; 11+ messages in thread
From: MPTCP CI @ 2024-02-12 19:52 UTC (permalink / raw)
  To: Matthieu Baerts; +Cc: mptcp

Hi Matthieu,

Thank you for your modifications, that's great!

Our CI (Cirrus) did some validations with a debug kernel and here is its report:

- KVM Validation: debug (except selftest_mptcp_join):
  - Success! ✅:
  - Task: https://cirrus-ci.com/task/6122764210274304
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/6122764210274304/summary/summary.txt

- KVM Validation: debug (only selftest_mptcp_join):
  - Success! ✅:
  - Task: https://cirrus-ci.com/task/5559814256852992
  - Summary: https://api.cirrus-ci.com/v1/artifact/task/5559814256852992/summary/summary.txt

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/00e075ae7c82


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-debug

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configs/debug: add NET debug config
  2024-02-12 18:39 ` [PATCH] configs/debug: add NET debug config Kees Cook
@ 2024-02-13  1:02   ` Jakub Kicinski
  2024-02-13  1:27     ` Andrew Morton
  2024-02-13  1:52     ` Kees Cook
  0 siblings, 2 replies; 11+ messages in thread
From: Jakub Kicinski @ 2024-02-13  1:02 UTC (permalink / raw)
  To: Kees Cook
  Cc: Matthieu Baerts (NGI0),
	linux-kernel, David S. Miller, Eric Dumazet, Paolo Abeni,
	Qian Cai, mptcp, netdev, Andrew Morton

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?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configs/debug: add NET debug config
  2024-02-13  1:02   ` Jakub Kicinski
@ 2024-02-13  1:27     ` Andrew Morton
  2024-02-13  1:52     ` Kees Cook
  1 sibling, 0 replies; 11+ messages in thread
From: Andrew Morton @ 2024-02-13  1:27 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Kees Cook, Matthieu Baerts (NGI0),
	linux-kernel, David S. Miller, Eric Dumazet, Paolo Abeni,
	Qian Cai, mptcp, netdev

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.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configs/debug: add NET debug config
  2024-02-13  1:02   ` Jakub Kicinski
  2024-02-13  1:27     ` Andrew Morton
@ 2024-02-13  1:52     ` Kees Cook
  1 sibling, 0 replies; 11+ messages in thread
From: Kees Cook @ 2024-02-13  1:52 UTC (permalink / raw)
  To: Jakub Kicinski, Kees Cook
  Cc: Matthieu Baerts (NGI0),
	linux-kernel, David S. Miller, Eric Dumazet, Paolo Abeni,
	Qian Cai, mptcp, netdev, Andrew Morton



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


-- 
Kees Cook

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] configs/debug: add NET debug config
  2024-02-12 10:47 [PATCH] configs/debug: add NET debug config Matthieu Baerts (NGI0)
                   ` (5 preceding siblings ...)
  2024-02-12 19:52 ` MPTCP CI
@ 2024-02-16  1:50 ` patchwork-bot+netdevbpf
  6 siblings, 0 replies; 11+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-02-16  1:50 UTC (permalink / raw)
  To: Matthieu Baerts
  Cc: linux-kernel, davem, edumazet, kuba, pabeni, quic_qiancai,
	keescook, mptcp, netdev, akpm

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



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-02-16  1:50 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-12 10:47 [PATCH] configs/debug: add NET debug config Matthieu Baerts (NGI0)
2024-02-12 11:42 ` configs/debug: add NET debug config: Tests Results MPTCP CI
2024-02-12 12:36 ` MPTCP CI
2024-02-12 13:42 ` MPTCP CI
2024-02-12 18:39 ` [PATCH] configs/debug: add NET debug config Kees Cook
2024-02-13  1:02   ` Jakub Kicinski
2024-02-13  1:27     ` Andrew Morton
2024-02-13  1:52     ` Kees Cook
2024-02-12 19:32 ` configs/debug: add NET debug config: Tests Results MPTCP CI
2024-02-12 19:52 ` MPTCP CI
2024-02-16  1:50 ` [PATCH] configs/debug: add NET debug config patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.