Messages in this thread Patch in this message | | | From | Kamal Mostafa <> | Subject | [PATCH 021/104] tcp: tcp_make_synack() should use sock_wmalloc | Date | Thu, 10 Oct 2013 08:41:09 -0700 |
| |
3.8.13.11 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Phil Oester <kernel@linuxace.com>
commit eb8895debe1baba41fcb62c78a16f0c63c21662a upstream.
In commit 90ba9b19 (tcp: tcp_make_synack() can use alloc_skb()), Eric changed the call to sock_wmalloc in tcp_make_synack to alloc_skb. In doing so, the netfilter owner match lost its ability to block the SYNACK packet on outbound listening sockets. Revert the change, restoring the owner match functionality.
This closes netfilter bugzilla #847.
Signed-off-by: Phil Oester <kernel@linuxace.com> Signed-off-by: David S. Miller <davem@davemloft.net> [ kamal: backport to 3.8 ] Signed-off-by: Kamal Mostafa <kamal@canonical.com> --- net/ipv4/tcp_output.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 0bdd879..436d8fb 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -2705,8 +2705,8 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst, if (cvp != NULL && cvp->s_data_constant && cvp->s_data_desired) s_data_desired = cvp->s_data_desired; - skb = alloc_skb(MAX_TCP_HEADER + 15 + s_data_desired, - sk_gfp_atomic(sk, GFP_ATOMIC)); + skb = sock_wmalloc(sk, MAX_TCP_HEADER + 15 + s_data_desired, 1, + GFP_ATOMIC); if (unlikely(!skb)) { dst_release(dst); return NULL; -- 1.8.1.2
| |