Re: [PATCH v3 1/2] ftrace: make extra rcu_is_watching() validation check optional

2024-04-09 Thread Google
On Wed, 3 Apr 2024 15:03:27 -0700 Andrii Nakryiko wrote: > Introduce CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING config option to > control whether ftrace low-level code performs additional > rcu_is_watching()-based validation logic in an attempt to catch noinstr > violations. > > This check is

Re: [PATCH v3 2/2] rethook: honor CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING in rethook_try_get()

2024-04-09 Thread Google
On Wed, 3 Apr 2024 15:03:28 -0700 Andrii Nakryiko wrote: > Take into account CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING when validating > that RCU is watching when trying to setup rethooko on a function entry. > > This further (in addition to improvements in the previous patch) > improves BPF

Re: [PATCH net-next v3 6/6] rstreason: make it work in trace world

2024-04-09 Thread Steven Rostedt
On Tue, 9 Apr 2024 18:09:34 +0800 Jason Xing wrote: > /* > * tcp event with arguments sk and skb > @@ -74,20 +75,38 @@ DEFINE_EVENT(tcp_event_sk_skb, tcp_retransmit_skb, > TP_ARGS(sk, skb) > ); > > +#undef FN1 > +#define FN1(reason) TRACE_DEFINE_ENUM(SK_RST_REASON_##reason); >

Re: [PATCH net-next v3 6/6] rstreason: make it work in trace world

2024-04-09 Thread Jason Xing
Hi Steven, On Tue, Apr 9, 2024 at 11:36 PM Steven Rostedt wrote: > > On Tue, 9 Apr 2024 18:09:34 +0800 > Jason Xing wrote: > > > /* > > * tcp event with arguments sk and skb > > @@ -74,20 +75,38 @@ DEFINE_EVENT(tcp_event_sk_skb, tcp_retransmit_skb, > > TP_ARGS(sk, skb) > > ); > > > >

[PATCH net-next v3 6/6] rstreason: make it work in trace world

2024-04-09 Thread Jason Xing
From: Jason Xing At last, we should let it work by introducing this reset reason in trace world. One of the possible expected outputs is: ... tcp_send_reset: skbaddr=xxx skaddr=xxx src=xxx dest=xxx state=TCP_ESTABLISHED reason=NOT_SPECIFIED Signed-off-by: Jason Xing ---

[PATCH net-next v3 5/6] mptcp: support rstreason for passive reset

2024-04-09 Thread Jason Xing
From: Jason Xing It relys on what reset options in the skb are as rfc8684 says. Reusing this logic can save us much energy. This patch replaces most of the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/mptcp/subflow.c | 18 +- 1 file changed, 13 insertions(+),

[PATCH net-next v3 4/6] tcp: support rstreason for passive reset

2024-04-09 Thread Jason Xing
From: Jason Xing Reuse the dropreason logic to show the exact reason of tcp reset, so we don't need to implement those duplicated reset reasons. This patch replaces all the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/ipv4/tcp_ipv4.c | 8 net/ipv6/tcp_ipv6.c | 8

[PATCH net-next v3 3/6] rstreason: prepare for active reset

2024-04-09 Thread Jason Xing
From: Jason Xing Like what we did to passive reset: only passing possible reset reason in each active reset path. No functional changes. Signed-off-by: Jason Xing --- include/net/tcp.h | 2 +- net/ipv4/tcp.c| 15 ++- net/ipv4/tcp_output.c | 2 +-

[PATCH net-next v3 2/6] rstreason: prepare for passive reset

2024-04-09 Thread Jason Xing
From: Jason Xing Adjust the parameter and support passing reason of reset which is for now NOT_SPECIFIED. No functional changes. Signed-off-by: Jason Xing --- include/net/request_sock.h | 3 ++- net/dccp/ipv4.c| 10 ++ net/dccp/ipv6.c| 10 ++

[PATCH net-next v3 1/6] net: introduce rstreason to detect why the RST is sent

2024-04-09 Thread Jason Xing
From: Jason Xing Add a new standalone file for the easy future extension to support both active reset and passive reset in the TCP/DCCP/MPTCP protocols. This patch only does the preparations for reset reason mechanism, nothing else changes. The reset reasons are divided into three parts: 1)

[PATCH net-next v3 0/6] Implement reset reason mechanism to detect

2024-04-09 Thread Jason Xing
From: Jason Xing In production, there are so many cases about why the RST skb is sent but we don't have a very convenient/fast method to detect the exact underlying reasons. RST is implemented in two kinds: passive kind (like tcp_v4_send_reset()) and active kind (like tcp_send_active_reset()).