skmsg: Clear skb redirect pointer before dropping it
authorCong Wang <cong.wang@bytedance.com>
Tue, 15 Jun 2021 02:13:38 +0000 (19:13 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 21 Jun 2021 14:48:29 +0000 (16:48 +0200)
commit30b9c54a707db4155735cf71f4600241c1b7b6ff
tree4b806faa13566c1becbb29ea20c3153a7b172813
parente00a5c331bf57f41fcfdc5da4f5caeafe5e54c1d
skmsg: Clear skb redirect pointer before dropping it

When we drop skb inside sk_psock_skb_redirect(), we have to clear
its skb->_sk_redir pointer too, otherwise kfree_skb() would
misinterpret it as a valid skb->_skb_refdst and dst_release()
would eventually complain.

Fixes: e3526bb92a20 ("skmsg: Move sk_redir from TCP_SKB_CB to skb")
Reported-by: Jiang Wang <jiang.wang@bytedance.com>
Signed-off-by: Cong Wang <cong.wang@bytedance.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Jakub Sitnicki <jakub@cloudflare.com>
Link: https://lore.kernel.org/bpf/20210615021342.7416-5-xiyou.wangcong@gmail.com
net/core/skmsg.c