提交 ee28b0da 编写于 作者: A Al Viro 提交者: Linus Torvalds

[PATCH] remote memory corruptor in ibmtr.c

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: NAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 87fcd70d
...@@ -1826,7 +1826,7 @@ static void tr_rx(struct net_device *dev) ...@@ -1826,7 +1826,7 @@ static void tr_rx(struct net_device *dev)
skb->protocol = tr_type_trans(skb, dev); skb->protocol = tr_type_trans(skb, dev);
if (IPv4_p) { if (IPv4_p) {
skb->csum = chksum; skb->csum = chksum;
skb->ip_summed = 1; skb->ip_summed = CHECKSUM_COMPLETE;
} }
netif_rx(skb); netif_rx(skb);
dev->last_rx = jiffies; dev->last_rx = jiffies;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册