[ Sasha's backport helper bot ]
Hi,
The upstream commit SHA1 provided is correct: 073d89808c065ac4c672c0a613a71b27a80691cb
WARNING: Author mismatch between patch and upstream commit: Backport author: alvalan9@foxmail.com Commit author: Wang Liangwangliang74@huawei.com
Status in newer kernel trees: 6.12.y | Present (exact SHA1) 6.6.y | Not found 6.1.y | Not found
Note: The patch differs from the upstream commit: --- 1: 073d89808c065 ! 1: a092fa4cc331a net: fix data-races around sk->sk_forward_alloc @@ Metadata ## Commit message ## net: fix data-races around sk->sk_forward_alloc
+ commit 073d89808c065ac4c672c0a613a71b27a80691cb upstream. + Syzkaller reported this warning: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 16 at net/ipv4/af_inet.c:156 inet_sock_destruct+0x1c5/0x1e0 @@ Commit message Signed-off-by: Wang Liang wangliang74@huawei.com Link: https://patch.msgid.link/20241107023405.889239-1-wangliang74@huawei.com Signed-off-by: Jakub Kicinski kuba@kernel.org + Signed-off-by: Alva Lan alvalan9@foxmail.com
## net/dccp/ipv6.c ## @@ net/dccp/ipv6.c: static int dccp_v6_do_rcv(struct sock *sk, struct sk_buff *skb) @@ net/ipv6/tcp_ipv6.c: int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb) + if (np->rxopt.all && sk->sk_state != TCP_LISTEN) opt_skb = skb_clone_and_charge_r(skb, sk);
- if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */ + reason = SKB_DROP_REASON_NOT_SPECIFIED; @@ net/ipv6/tcp_ipv6.c: int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb) - if (reason) - goto reset; - } + if (nsk != sk) { + if (tcp_child_process(sk, nsk, skb)) + goto reset; - if (opt_skb) - __kfree_skb(opt_skb); return 0; ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.1.y | Success | Success |