* [PATCH] deal with if frags[0].size is pulled to 0 in dev_gro_receive()
@ 2010-08-03 3:17 xiaohui.xin
2010-08-03 4:56 ` Herbert Xu
0 siblings, 1 reply; 3+ messages in thread
From: xiaohui.xin @ 2010-08-03 3:17 UTC (permalink / raw)
To: netdev, herbert, davem; +Cc: Xin Xiaohui
From: Xin Xiaohui <xiaohui.xin@intel.com>
Now in dev_gro_receive(), if frags[0].size is pulled to 0, memmove is called and
the null page is released. But it's not enough, we should reset size of each frags
left as well. Compared to this, we can have another way to do this, it's not do do
anything at all.
Signed-off-by: Xin Xiaohui <xiaohui.xin@intel.com>
---
net/core/dev.c | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 264137f..28cdbbf 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2730,13 +2730,6 @@ pull:
skb_shinfo(skb)->frags[0].page_offset += grow;
skb_shinfo(skb)->frags[0].size -= grow;
-
- if (unlikely(!skb_shinfo(skb)->frags[0].size)) {
- put_page(skb_shinfo(skb)->frags[0].page);
- memmove(skb_shinfo(skb)->frags,
- skb_shinfo(skb)->frags + 1,
- --skb_shinfo(skb)->nr_frags);
- }
}
ok:
--
1.5.4.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] deal with if frags[0].size is pulled to 0 in dev_gro_receive()
2010-08-03 3:17 [PATCH] deal with if frags[0].size is pulled to 0 in dev_gro_receive() xiaohui.xin
@ 2010-08-03 4:56 ` Herbert Xu
2010-08-03 5:03 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: Herbert Xu @ 2010-08-03 4:56 UTC (permalink / raw)
To: xiaohui.xin; +Cc: netdev, davem
On Tue, Aug 03, 2010 at 11:17:19AM +0800, xiaohui.xin@intel.com wrote:
> From: Xin Xiaohui <xiaohui.xin@intel.com>
>
> Now in dev_gro_receive(), if frags[0].size is pulled to 0, memmove is called and
> the null page is released. But it's not enough, we should reset size of each frags
> left as well. Compared to this, we can have another way to do this, it's not do do
> anything at all.
>
> Signed-off-by: Xin Xiaohui <xiaohui.xin@intel.com>
This patch can only work if you audit everything that uses skb
frags to ensure that they can tolerate a zero-sided frag.
I think it's much easier to just fix the memmove.
Thanks,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] deal with if frags[0].size is pulled to 0 in dev_gro_receive()
2010-08-03 4:56 ` Herbert Xu
@ 2010-08-03 5:03 ` David Miller
0 siblings, 0 replies; 3+ messages in thread
From: David Miller @ 2010-08-03 5:03 UTC (permalink / raw)
To: herbert; +Cc: xiaohui.xin, netdev
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Tue, 3 Aug 2010 12:56:38 +0800
> On Tue, Aug 03, 2010 at 11:17:19AM +0800, xiaohui.xin@intel.com wrote:
>> From: Xin Xiaohui <xiaohui.xin@intel.com>
>>
>> Now in dev_gro_receive(), if frags[0].size is pulled to 0, memmove is called and
>> the null page is released. But it's not enough, we should reset size of each frags
>> left as well. Compared to this, we can have another way to do this, it's not do do
>> anything at all.
>>
>> Signed-off-by: Xin Xiaohui <xiaohui.xin@intel.com>
>
> This patch can only work if you audit everything that uses skb
> frags to ensure that they can tolerate a zero-sided frag.
>
> I think it's much easier to just fix the memmove.
Agreed.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-08-03 5:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-03 3:17 [PATCH] deal with if frags[0].size is pulled to 0 in dev_gro_receive() xiaohui.xin
2010-08-03 4:56 ` Herbert Xu
2010-08-03 5: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).