From fa06d81d7a40a3c9cdb4a8b259e0300140e08da7 Mon Sep 17 00:00:00 2001 From: "Huang, Tao" Date: Tue, 5 Jul 2016 18:24:14 +0800 Subject: [PATCH] Revert "netfilter: xt_qtaguid: fix crash on non-full sks" This reverts commit 1b96a26c65104ee06eaa46dc23bbe22ebe3bf7d0. Fixes by LSK commit 202d12a1f733a252ee76f4cc497c9ce86270ebb2 ("xt_qtaguid: Fix panic caused by synack processing") and commit 4158b3431f473aad101da1100a9b241ff8b3cc74 ("xt_qtaguid: Fix panic caused by processing non-full socket.") Signed-off-by: Huang, Tao --- net/netfilter/xt_qtaguid.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/netfilter/xt_qtaguid.c b/net/netfilter/xt_qtaguid.c index 2596e1bf402f..e1442bfb668d 100644 --- a/net/netfilter/xt_qtaguid.c +++ b/net/netfilter/xt_qtaguid.c @@ -1606,7 +1606,7 @@ static struct sock *qtaguid_find_sk(const struct sk_buff *skb, * When in TCP_TIME_WAIT the sk is not a "struct sock" but * "struct inet_timewait_sock" which is missing fields. */ - if (!sk_fullsock(sk)) { + if (sk->sk_state == TCP_TIME_WAIT) { sock_gen_put(sk); sk = NULL; } @@ -1689,7 +1689,7 @@ static bool qtaguid_mt(const struct sk_buff *skb, struct xt_action_param *par) /* default: Fall through and do UID releated work */ } - sk = skb_to_full_sk(skb); + sk = skb->sk; /* * When in TCP_TIME_WAIT the sk is not a "struct sock" but * "struct inet_timewait_sock" which is missing fields. -- 2.34.1