2006-12-08 23:59:58

by Chris Wright

[permalink] [raw]
Subject: [patch 18/32] TOKENRING: Remote memory corruptor in ibmtr.c

-stable review patch. If anyone has any objections, please let us know.
------------------

From: David Miller <[email protected]>

ip_summed changes last summer had missed that one. As the result,
we have ip_summed interpreted as CHECKSUM_PARTIAL now. IOW,
->csum is interpreted as offset of checksum in the packet. net/core/*
will both read and modify the value as that offset, with obvious
reasons. At the very least it's a remote memory corruptor.

Signed-off-by: Al Viro <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Chris Wright <[email protected]>
---
commit b1875feda8c1735915e12d953acba85d96129f6a
Author: Al Viro <[email protected]>
Date: Mon Dec 4 19:37:42 2006 -0800

drivers/net/tokenring/ibmtr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.19.orig/drivers/net/tokenring/ibmtr.c
+++ linux-2.6.19/drivers/net/tokenring/ibmtr.c
@@ -1826,7 +1826,7 @@ static void tr_rx(struct net_device *dev
skb->protocol = tr_type_trans(skb, dev);
if (IPv4_p) {
skb->csum = chksum;
- skb->ip_summed = 1;
+ skb->ip_summed = CHECKSUM_COMPLETE;
}
netif_rx(skb);
dev->last_rx = jiffies;

--