diff options
author | Eli Cohen <eli@mellanox.co.il> | 2008-06-28 05:09:00 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-06-28 05:09:00 +0200 |
commit | 251a4b320f2352598f84e4452ab538aa8064af52 (patch) | |
tree | 8993e1aafe4917c85a12f3ac0e8bb10b37a787e1 /net | |
parent | inet fragments: fix race between inet_frag_find and inet_frag_secret_rebuild (diff) | |
download | linux-251a4b320f2352598f84e4452ab538aa8064af52.tar.xz linux-251a4b320f2352598f84e4452ab538aa8064af52.zip |
net/inet_lro: remove setting skb->ip_summed when not LRO-able
When an SKB cannot be chained to a session, the current code attempts
to "restore" its ip_summed field from lro_mgr->ip_summed. However,
lro_mgr->ip_summed does not hold the original value; in fact, we'd
better not touch skb->ip_summed since it is not modified by the code
in the path leading to a failure to chain it. Also use a cleaer
comment to the describe the ip_summed field of struct net_lro_mgr.
Issue raised by Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/inet_lro.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv4/inet_lro.c b/net/ipv4/inet_lro.c index 4a4d49fca1f2..cfd034a2b96e 100644 --- a/net/ipv4/inet_lro.c +++ b/net/ipv4/inet_lro.c @@ -383,8 +383,7 @@ static int __lro_proc_skb(struct net_lro_mgr *lro_mgr, struct sk_buff *skb, out2: /* send aggregated SKBs to stack */ lro_flush(lro_mgr, lro_desc); -out: /* Original SKB has to be posted to stack */ - skb->ip_summed = lro_mgr->ip_summed; +out: return 1; } |