netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tcp: tcp_make_synack() should use sock_wmalloc
@ 2013-08-27 23:41 Phil Oester
  2013-08-30 20:03 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Phil Oester @ 2013-08-27 23:41 UTC (permalink / raw)
  To: netdev, netfilter-devel; +Cc: eric.dumazet, pablo

[-- Attachment #1: Type: text/plain, Size: 401 bytes --]

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>


[-- Attachment #2: patch-tcp_make_synack --]
[-- Type: text/plain, Size: 469 bytes --]

diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index 92fde8d..362c5f7 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -2670,7 +2670,7 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst,
 	int tcp_header_size;
 	int mss;
 
-	skb = alloc_skb(MAX_TCP_HEADER + 15, sk_gfp_atomic(sk, GFP_ATOMIC));
+	skb = sock_wmalloc(sk, MAX_TCP_HEADER + 15, 1, GFP_ATOMIC);
 	if (unlikely(!skb)) {
 		dst_release(dst);
 		return NULL;

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] tcp: tcp_make_synack() should use sock_wmalloc
  2013-08-27 23:41 [PATCH] tcp: tcp_make_synack() should use sock_wmalloc Phil Oester
@ 2013-08-30 20:03 ` David Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2013-08-30 20:03 UTC (permalink / raw)
  To: kernel; +Cc: netdev, netfilter-devel, eric.dumazet, pablo

From: Phil Oester <kernel@linuxace.com>
Date: Tue, 27 Aug 2013 16:41:40 -0700

> 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>

Applied and queued up for -stable, thanks.

Eric, I guess if you really want to get rid of the wmem atomics you
can just attach the socket and make a special destructor.  Maybe it
is not even worth it at that point however.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-08-30 20:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-27 23:41 [PATCH] tcp: tcp_make_synack() should use sock_wmalloc Phil Oester
2013-08-30 20:03 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).