Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH] ip : take care of last fragment in ip_append_data
From: David Miller @ 2010-09-22  4:53 UTC (permalink / raw)
  To: eric.dumazet; +Cc: nbowler, linux-kernel, netdev
In-Reply-To: <1285130646.6378.45.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 22 Sep 2010 06:44:06 +0200

> The "17" (instead of probable 16 need) comes from :
> 
> net/ipv4/esp4.c line 599 :
> 
> x->props.trailer_len = align + 1 + crypto_aead_authsize(esp->aead);
> 
> In my Nick ipsec script case, 
> crypto_aead_blocksize(aead) = 16, 
> crypto_aead_authsize(esp->aead) = 0
> 
> -> align = 16
> trailer_len = 16 + 1 + 0;
> 
> I am not sure we need the "+ 1", but I know nothing about this stuff.
> 
> Same in net/ipv6/esp6.c ?

I think the author of this code thought that the alignment was
expressed as "N - 1" instead of plain "N".

I'll do some research. :-)

Thanks Eric.

^ permalink raw reply

* Re: [PATCH] ip : take care of last fragment in ip_append_data
From: Eric Dumazet @ 2010-09-22  4:44 UTC (permalink / raw)
  To: David Miller; +Cc: nbowler, linux-kernel, netdev
In-Reply-To: <20100921.163856.71124744.davem@davemloft.net>

Le mardi 21 septembre 2010 à 16:38 -0700, David Miller a écrit :
> From: Eric Dumazet <eric.dumazet@gmail.com>
> Date: Tue, 21 Sep 2010 08:16:27 +0200
> 
> > [PATCH] ip : take care of last fragment in ip_append_data
> > 
> > While investigating a bit, I found ip_fragment() slow path was taken
> > because ip_append_data() provides following layout for a send(MTU +
> > N*(MTU - 20)) syscall :
> > 
> > - one skb with 1500 (mtu) bytes
> > - N fragments of 1480 (mtu-20) bytes (before adding IP header)
> > last fragment gets 17 bytes of trail data because of following bit:
> > 
> > 	if (datalen == length + fraggap)
> > 		alloclen += rt->dst.trailer_len;
> > 
> > Then esp4 adds 16 bytes of data (while trailer_len is 17... hmm...
> > another bug ?)
> > 
> > In ip_fragment(), we notice last fragment is too big (1496 + 20) > mtu,
> > so we take slow path, building another skb chain.
> > 
> > In order to avoid taking slow path, we should correct ip_append_data()
> > to make sure last fragment has real trail space, under mtu...
> > 
> > Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
> 
> This patch largely looks fine, but:
> 
> 1) I want to find out where that "17" tailer_len comes from before
>    applying this, that doesn't make any sense.
> 
> 2) Even with #1 addressed, this function is tricky so I want to review
>    this patch some more.



The "17" (instead of probable 16 need) comes from :

net/ipv4/esp4.c line 599 :

x->props.trailer_len = align + 1 + crypto_aead_authsize(esp->aead);

In my Nick ipsec script case, 
crypto_aead_blocksize(aead) = 16, 
crypto_aead_authsize(esp->aead) = 0

-> align = 16
trailer_len = 16 + 1 + 0;

I am not sure we need the "+ 1", but I know nothing about this stuff.

Same in net/ipv6/esp6.c ?


Anyway the last frag problem is for packets with lengths :
 MTU + N*(MTU - 20) + LAST

LAST being from [(MTU - trailer_len) ... MTU], not only MTU as I wrote
in changelog




^ permalink raw reply

* Re: [PATCH net-next-2.6 7/8] sfc: Set net_device::num_rx_queues once we know the correct value
From: David Miller @ 2010-09-22  1:38 UTC (permalink / raw)
  To: bhutchings; +Cc: eric.dumazet, netdev, linux-net-drivers
In-Reply-To: <1285106878.2697.96.camel@localhost>

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Wed, 22 Sep 2010 02:31:36 +0100

> Right, but we do need to have some way for drivers to specify the actual
> number of RX queues.

Ok, the problem stems merely from the fact that we only specify one
"queue count" in alloc_netdev_mq().  We should specify two, one for
TX and one for RX.

So why not fix that instead of putting hacks into the drivers? :-)


^ permalink raw reply

* Re: [PATCH net-next-2.6 7/8] sfc: Set net_device::num_rx_queues once we know the correct value
From: Ben Hutchings @ 2010-09-22  1:31 UTC (permalink / raw)
  To: David Miller; +Cc: eric.dumazet, netdev, linux-net-drivers
In-Reply-To: <20100921.145703.189694076.davem@davemloft.net>

On Tue, 2010-09-21 at 14:57 -0700, David Miller wrote:
> From: Ben Hutchings <bhutchings@solarflare.com>
> Date: Mon, 20 Sep 2010 20:05:46 +0100
> 
> > If RPS is enabled there's a separate kobject for each RX queue.  Those
> > other drivers probably should be setting it.
> > 
> > Oh, but this only exists if CONFIG_RPS is enabled.  I think we need an
> > inline function for setting this.
> 
> It's set in the core by alloc_netdev_mq(), you should never have to
> set this in your driver.

That specifies the maximum possible number of queues, but we don't
require that the actual number of TX queues (real_num_tx_queues) is the
same as the maximum (num_tx_queues) and nor should we assume that of RX
queues.  I don't think we should require that the maximum numbers of RX
and TX queues are the same either, for that matter.

> And that also takes care of the CONFIG_RPS dependency in one spot,
> another good argument for drivers never touching this value.
> 
> I'm not applying this patch.

Right, but we do need to have some way for drivers to specify the actual
number of RX queues.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

^ permalink raw reply

* [PATCH 2/2] X.25 remove bkl in poll
From: Andrew Hendry @ 2010-09-22  1:24 UTC (permalink / raw)
  To: netdev

The x25_datagram_poll didn't add anything, removed it.

Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com>

---
 net/x25/af_x25.c |   14 +-------------
 1 files changed, 1 insertions(+), 13 deletions(-)

diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
index 4ebde0d..b371a47 100644
--- a/net/x25/af_x25.c
+++ b/net/x25/af_x25.c
@@ -923,18 +923,6 @@ out:
 	return rc;
 }
 
-static unsigned int x25_datagram_poll(struct file *file, struct socket *sock,
-			   poll_table *wait)
-{
-	int rc;
-
-	lock_kernel();
-	rc = datagram_poll(file, sock, wait);
-	unlock_kernel();
-
-	return rc;
-}
-
 int x25_rx_call_request(struct sk_buff *skb, struct x25_neigh *nb,
 			unsigned int lci)
 {
@@ -1742,7 +1730,7 @@ static const struct proto_ops x25_proto_ops = {
 	.socketpair =	sock_no_socketpair,
 	.accept =	x25_accept,
 	.getname =	x25_getname,
-	.poll =		x25_datagram_poll,
+	.poll =		datagram_poll,
 	.ioctl =	x25_ioctl,
 #ifdef CONFIG_COMPAT
 	.compat_ioctl = compat_x25_ioctl,
-- 
1.7.0.4




^ permalink raw reply related

* [PATCH 1/2] X.25 remove bkl in getsockname
From: Andrew Hendry @ 2010-09-22  1:24 UTC (permalink / raw)
  To: netdev


Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com>

---
 net/x25/af_x25.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
index b371a47..a87f792 100644
--- a/net/x25/af_x25.c
+++ b/net/x25/af_x25.c
@@ -905,7 +905,6 @@ static int x25_getname(struct socket *sock, struct sockaddr *uaddr,
 	struct x25_sock *x25 = x25_sk(sk);
 	int rc = 0;
 
-	lock_kernel();
 	if (peer) {
 		if (sk->sk_state != TCP_ESTABLISHED) {
 			rc = -ENOTCONN;
@@ -919,7 +918,6 @@ static int x25_getname(struct socket *sock, struct sockaddr *uaddr,
 	*uaddr_len = sizeof(*sx25);
 
 out:
-	unlock_kernel();
 	return rc;
 }
 
-- 
1.7.0.4




^ permalink raw reply related

* Re: [PATCHv1.5 3/3] net: core: use kernel's converter from hex to bin
From: David Miller @ 2010-09-22  1:08 UTC (permalink / raw)
  To: andy.shevchenko; +Cc: linux-kernel, netdev
In-Reply-To: <3998a210e172f58814e2b559f67d42c9ba78ba6a.1285051188.git.andy.shevchenko@gmail.com>

From: Andy Shevchenko <andy.shevchenko@gmail.com>
Date: Tue, 21 Sep 2010 09:40:26 +0300

> Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>

Applied.

^ permalink raw reply

* Re: [PATCHv1.5 2/3] sunrpc/cache: don't use custom hex_to_bin() converter
From: David Miller @ 2010-09-22  1:08 UTC (permalink / raw)
  To: andy.shevchenko-Re5JQEeQqe8AvxtiuMwx3w
  Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <9ff9c1f334999e0128fe6426aaad4e9d465f310f.1285051188.git.andy.shevchenko-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

From: Andy Shevchenko <andy.shevchenko-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Tue, 21 Sep 2010 09:40:25 +0300

> Signed-off-by: Andy Shevchenko <andy.shevchenko-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> Cc: Trond Myklebust <Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org>
> Cc: linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

I'll let the NFS folks pick this one up.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCHv1.5 1/3] drivers: atm: use native kernel's hex_to_bin() func
From: David Miller @ 2010-09-22  1:07 UTC (permalink / raw)
  To: andy.shevchenko; +Cc: linux-kernel, netdev, chas, linux-atm-general
In-Reply-To: <2d00b66224535ae82be1a1e638b86b81fb890f58.1285051188.git.andy.shevchenko@gmail.com>

From: Andy Shevchenko <andy.shevchenko@gmail.com>
Date: Tue, 21 Sep 2010 09:40:24 +0300

> Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Cc: Chas Williams <chas@cmf.nrl.navy.mil>
> Cc: linux-atm-general@lists.sourceforge.net

Applied.

^ permalink raw reply

* Re: [PATCH net-next-2.6 3/3] caif: Use default send and receive buffer size in caif_socket.
From: David Miller @ 2010-09-22  1:07 UTC (permalink / raw)
  To: sjur.brandeland; +Cc: netdev
In-Reply-To: <1285105486-7649-3-git-send-email-sjur.brandeland@stericsson.com>

From: sjur.brandeland@stericsson.com
Date: Tue, 21 Sep 2010 23:44:46 +0200

> From: Sjur Braendeland <sjur.brandeland@stericsson.com>
> 
> CAIF sockets should use socket's default send and receive buffers sizes.
> 
> Signed-off-by: Sjur Braendeland <sjur.brandeland@stericsson.com>

Applied.

^ permalink raw reply

* Re: [PATCH net-next-2.6 2/3] caif: Fix function NULL pointer check.
From: David Miller @ 2010-09-22  1:07 UTC (permalink / raw)
  To: sjur.brandeland; +Cc: netdev
In-Reply-To: <1285105486-7649-2-git-send-email-sjur.brandeland@stericsson.com>

From: sjur.brandeland@stericsson.com
Date: Tue, 21 Sep 2010 23:44:45 +0200

> From: Sjur Braendeland <sjur.brandeland@stericsson.com>
> 
> Check that receive function pointer is not null before calling it.
> 
> Signed-off-by: Sjur Braendeland <sjur.brandeland@stericsson.com>

Applied.

^ permalink raw reply

* Re: [PATCH net-next-2.6 1/3] caif: Minor fixes in log prints.
From: David Miller @ 2010-09-22  1:07 UTC (permalink / raw)
  To: sjur.brandeland; +Cc: netdev, sjur.braendeland
In-Reply-To: <1285105486-7649-1-git-send-email-sjur.brandeland@stericsson.com>

From: sjur.brandeland@stericsson.com
Date: Tue, 21 Sep 2010 23:44:44 +0200

> From: Sjur Braendeland <sjur.braendeland@stericsson.com>
> 
> Use pr_debug for flow control printouts, and refine an error printout.
> 
> Signed-off-by: Sjur Braendeland <sjur.brandeland@stericsson.com>

Applied.

^ permalink raw reply

* Re: [PATCH net-2.6] caif: Remove buggy re-definition of pr_debug
From: David Miller @ 2010-09-22  1:07 UTC (permalink / raw)
  To: sjur.brandeland; +Cc: netdev
In-Reply-To: <1285101606-2264-1-git-send-email-sjur.brandeland@stericsson.com>

From: sjur.brandeland@stericsson.com
Date: Tue, 21 Sep 2010 22:40:06 +0200

> From: Sjur Braendeland <sjur.brandeland@stericsson.com>
> 
> Remove debugging quirk redefining pr_debug to pr_warning.
> 
> Signed-off-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
> ---
> 
> Hi Dave,
> I don't know if this qualify for going to 2.6.36.
> It's not really a serious bug, but it would be
> nice to get it fixed.

Not appropriate for net-2.6, applied to net-next-2.6 instead.

Thanks.

^ permalink raw reply

* Re: [PATCH net-next-2.6] ipv6: addrconf.h cleanups
From: David Miller @ 2010-09-22  1:06 UTC (permalink / raw)
  To: eric.dumazet; +Cc: netdev
In-Reply-To: <1285088259.2617.717.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue, 21 Sep 2010 18:57:39 +0200

> - Use rcu_dereference_rtnl() in __in6_dev_get
> - kerneldoc for __in6_dev_get() and in6_dev_get()
> - Use inline functions instead of macros
> 
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>

Applied.

^ permalink raw reply

* Re: [PATCH net-next-2.6] net: constify some ppp/pptp structs
From: David Miller @ 2010-09-22  1:06 UTC (permalink / raw)
  To: eric.dumazet; +Cc: netdev, xeb
In-Reply-To: <1285087434.2617.697.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue, 21 Sep 2010 18:43:54 +0200

> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>

Applied.

^ permalink raw reply

* Re: [PATCH -next 3/3] sundance: Use dev_kfree_skb_any() helper
From: David Miller @ 2010-09-22  1:06 UTC (permalink / raw)
  To: dkirjanov; +Cc: netdev
In-Reply-To: <20100921085749.GA21902@hera.kernel.org>

From: Denis Kirjanov <dkirjanov@kernel.org>
Date: Tue, 21 Sep 2010 08:57:49 +0000

> Use dev_kfree_skb_any() helper to free the skb
> 
> Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>

Applied.

^ permalink raw reply

* Re: [PATCH -next 2/3] sundance: Handle DMA mapping errors
From: David Miller @ 2010-09-22  1:06 UTC (permalink / raw)
  To: dkirjanov; +Cc: netdev
In-Reply-To: <20100921085657.GA20108@hera.kernel.org>

From: Denis Kirjanov <dkirjanov@kernel.org>
Date: Tue, 21 Sep 2010 08:56:57 +0000

> Check for DMA mapping errors.
> 
> Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>

Applied.

^ permalink raw reply

* Re: [PATCH -next 1/3] sundance: Convert to DMA API
From: David Miller @ 2010-09-22  1:06 UTC (permalink / raw)
  To: dkirjanov; +Cc: netdev
In-Reply-To: <20100921085607.GA19700@hera.kernel.org>

From: Denis Kirjanov <dkirjanov@kernel.org>
Date: Tue, 21 Sep 2010 08:56:07 +0000

> Convert to DMA API
> 
> Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>

Applied.

^ permalink raw reply

* Re: [PATCH] tmspci: fix tr%d in printk
From: David Miller @ 2010-09-22  1:06 UTC (permalink / raw)
  To: mroos; +Cc: netdev
In-Reply-To: <alpine.SOC.1.00.1009211011150.28446@math.ut.ee>

From: Meelis Roos <mroos@linux.ee>
Date: Tue, 21 Sep 2010 10:19:03 +0300 (EEST)

> tmspci driver uses dev->name before register_netdev() and so prints tr%d 
> in initialization messages. Fix it by using dev_info.
> 
> Found and tested on real hardware.
> 
> Signed-off-by: Meelis Roos <mroos@linux.ee>

Applied to net-next-2.6, thanks.

^ permalink raw reply

* Re: [PATCH] ip : take care of last fragment in ip_append_data
From: David Miller @ 2010-09-21 23:38 UTC (permalink / raw)
  To: eric.dumazet; +Cc: nbowler, linux-kernel, netdev
In-Reply-To: <1285049787.2323.797.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue, 21 Sep 2010 08:16:27 +0200

> [PATCH] ip : take care of last fragment in ip_append_data
> 
> While investigating a bit, I found ip_fragment() slow path was taken
> because ip_append_data() provides following layout for a send(MTU +
> N*(MTU - 20)) syscall :
> 
> - one skb with 1500 (mtu) bytes
> - N fragments of 1480 (mtu-20) bytes (before adding IP header)
> last fragment gets 17 bytes of trail data because of following bit:
> 
> 	if (datalen == length + fraggap)
> 		alloclen += rt->dst.trailer_len;
> 
> Then esp4 adds 16 bytes of data (while trailer_len is 17... hmm...
> another bug ?)
> 
> In ip_fragment(), we notice last fragment is too big (1496 + 20) > mtu,
> so we take slow path, building another skb chain.
> 
> In order to avoid taking slow path, we should correct ip_append_data()
> to make sure last fragment has real trail space, under mtu...
> 
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>

This patch largely looks fine, but:

1) I want to find out where that "17" tailer_len comes from before
   applying this, that doesn't make any sense.

2) Even with #1 addressed, this function is tricky so I want to review
   this patch some more.

^ permalink raw reply

* Re: [PATCH net-next-2.6 0/8] sfc and ethtool changes for 2.6.37
From: David Miller @ 2010-09-21 23:23 UTC (permalink / raw)
  To: bhutchings; +Cc: netdev, linux-net-drivers
In-Reply-To: <20100921.145827.112592957.davem@davemloft.net>

From: David Miller <davem@davemloft.net>
Date: Tue, 21 Sep 2010 14:58:27 -0700 (PDT)

> From: Ben Hutchings <bhutchings@solarflare.com>
> Date: Mon, 20 Sep 2010 19:40:56 +0100
> 
>> This series adds Ethernet-level filtering and explicit filter clearing
>> to the ethtool RX n-tuple interface, and implements it in the sfc
>> driver.
>> 
>> There is a cleanup patch on the end which is preparation for the
>> following RFC patch series but is worthwhile anyway.
>> 
>> Ben Hutchings (8):
>>   ethtool: Define RX n-tuple action to clear a rule
>>   ethtool: Add Ethernet MAC-level filtering/steering
>>   ethtool: Allocate register dump buffer with vmalloc()
>>   sfc: Add filter table management
>>   sfc: Implement the ethtool RX n-tuple control functions
>>   sfc: Include RX IP filter table in register dump
>>   sfc: Set net_device::num_rx_queues once we know the correct value
>>   sfc: Clean up and correct comments on efx_monitor()
> 
> All applied except patch #7 as noted in the thread for that patch.

Ben, just FYI, I had to add "linux/vmalloc.h" includes to both
net/core/ethtool.c and drivers/net/sfc/net_driver.h otherwise
the build breaks on some architectures.

x86 can be a really bad arch to validates builds on because it
currently gets vmalloc.h implicitly by some of it's core header files.

In particular, asm/io.h :-/

^ permalink raw reply

* Re: [PATCH v3] ip: fix truesize mismatch in ip fragmentation
From: Henrique de Moraes Holschuh @ 2010-09-21 23:06 UTC (permalink / raw)
  To: David Miller; +Cc: eric.dumazet, nbowler, linux-kernel, netdev, jarkao2, kaber
In-Reply-To: <20100921.122406.193718558.davem@davemloft.net>

On Tue, 21 Sep 2010, David Miller wrote:
> > Since there wasn't one, and I didn't readly find any post in this thread
> > that mentioned it should also go to stable, AND it looked at first glance
> > like something that should go to stable, I asked about it.
> 
> Sorry, that is not how we typically handle things in the networking.
> 
> I queue up all appropriate -stable patches automatically.

I see.

>    I want fixes to sit and cook in Linus's tree for a while before
>    they go to -stable unless it's an _incredibly_ obvious fix.
>    This allows any bugs in the fix to be shaken out first.

...

> All of the rest should be carefully queued up for -stable and
> submitted there after a week or two of the patch sitting in Linus's
> tree.

That is a very good way of doing things.  Thanks for the hard work!

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

^ permalink raw reply

* Re: net-next-2.6 [PATCH 0/5] dccp: miscellaneous CCID fixes and clean-up
From: David Miller @ 2010-09-21 23:03 UTC (permalink / raw)
  To: gerrit; +Cc: dccp, netdev
In-Reply-To: <1285064938-5933-1-git-send-email-gerrit@erg.abdn.ac.uk>

From: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Date: Tue, 21 Sep 2010 12:28:53 +0200

> please find attached a tested set of 2 + 3 cleanup patches; 
>  * the first two affect the DCCP CCID interface in general,
>  * the last three conclude the first set of CCID-3 patches.
> 
>  Patch #1: allows the CCID option-parsing routines to see the packet type.
>  Patch #2: replaces magic CCID-specific numbers with symbolic constants.
>  Patch #3: removes a redundant CCID-3 state (thanks to Leandro Sales de Melo).
>  Patch #4: fixes several issues in computing the CCID-3 loss rate.
>  Patch #5: removes redundant CCID-3 TX 'options_received' struct.
> 
> The set has also been placed into a fresh (today's) copy of net-next-2.6, on
> 
>     git://eden-feed.erg.abdn.ac.uk/net-next-2.6        [subtree 'dccp']
> 
> All patches have been tested and compile independently.    

All looks good, pulled, thanks Gerrit!

^ permalink raw reply

* Re: [PATCH v3] ip: fix truesize mismatch in ip fragmentation
From: David Miller @ 2010-09-21 22:15 UTC (permalink / raw)
  To: jarkao2; +Cc: eric.dumazet, nbowler, linux-kernel, netdev, kaber
In-Reply-To: <20100921192154.GA2115@del.dom.local>

From: Jarek Poplawski <jarkao2@gmail.com>
Date: Tue, 21 Sep 2010 21:21:54 +0200

> On Tue, Sep 21, 2010 at 08:47:45PM +0200, Eric Dumazet wrote:
>> [PATCH v4] ip: fix truesize mismatch in ip fragmentation
>> 
>> Special care should be taken when slow path is hit in ip_fragment() :
>> 
>> When walking through frags, we transfert truesize ownership from skb to
>> frags. Then if we hit a slow_path condition, we must undo this or risk
>> uncharging frags->truesize twice, and in the end, having negative socket
>> sk_wmem_alloc counter, or even freeing socket sooner than expected.
>> 
>> Many thanks to Nick Bowler, who provided a very clean bug report and
>> test program.
>> 
>> Thanks to Jarek for reviewing my first patch and providing a V2
>> 
>> While Nick bisection pointed to commit 2b85a34e911 (net: No more
>> expensive sock_hold()/sock_put() on each tx), underlying bug is older
>> (2.6.12-rc5)
>> 
>> A side effect is to extend work done in commit b2722b1c3a893e
>> (ip_fragment: also adjust skb->truesize for packets not owned by a
>> socket) to ipv6 as well.
>> 
>> Reported-and-bisected-by: Nick Bowler <nbowler@elliptictech.com>
>> Tested-by: Nick Bowler <nbowler@elliptictech.com>
>> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
>> CC: Jarek Poplawski <jarkao2@gmail.com>
>> CC: Patrick McHardy <kaber@trash.net>
> 
> Looks perfect to me.

Great work everyone!

Applied, thanks.

^ permalink raw reply

* Re: [PATCH net-next-2.6 0/8] sfc and ethtool changes for 2.6.37
From: David Miller @ 2010-09-21 21:58 UTC (permalink / raw)
  To: bhutchings; +Cc: netdev, linux-net-drivers
In-Reply-To: <1285008056.2282.103.camel@achroite.uk.solarflarecom.com>

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Mon, 20 Sep 2010 19:40:56 +0100

> This series adds Ethernet-level filtering and explicit filter clearing
> to the ethtool RX n-tuple interface, and implements it in the sfc
> driver.
> 
> There is a cleanup patch on the end which is preparation for the
> following RFC patch series but is worthwhile anyway.
> 
> Ben Hutchings (8):
>   ethtool: Define RX n-tuple action to clear a rule
>   ethtool: Add Ethernet MAC-level filtering/steering
>   ethtool: Allocate register dump buffer with vmalloc()
>   sfc: Add filter table management
>   sfc: Implement the ethtool RX n-tuple control functions
>   sfc: Include RX IP filter table in register dump
>   sfc: Set net_device::num_rx_queues once we know the correct value
>   sfc: Clean up and correct comments on efx_monitor()

All applied except patch #7 as noted in the thread for that patch.

Thanks!

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox