ipv6: tcp: give socket pointer to control skbs
tcp_v6_send_response() send orphaned 'control packets'. These are RST packets and also ACK packets sent from TIME_WAIT. Some eBPF programs would prefer to have a meaningful skb->sk pointer as much as possible. This means that TCP can now attach TIME_WAIT sockets to outgoing skbs. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com> Reviewed-by: Brian Vazquez <brianvv@google.com> Link: https://patch.msgid.link/20241010174817.1543642-5-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
5ced52fa8f
commit
507a96737d
1 changed files with 3 additions and 0 deletions
|
@ -967,6 +967,9 @@ static void tcp_v6_send_response(const struct sock *sk, struct sk_buff *skb, u32
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sk) {
|
if (sk) {
|
||||||
|
/* unconstify the socket only to attach it to buff with care. */
|
||||||
|
skb_set_owner_edemux(buff, (struct sock *)sk);
|
||||||
|
|
||||||
if (sk->sk_state == TCP_TIME_WAIT)
|
if (sk->sk_state == TCP_TIME_WAIT)
|
||||||
mark = inet_twsk(sk)->tw_mark;
|
mark = inet_twsk(sk)->tw_mark;
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Reference in a new issue