]> git.baikalelectronics.ru Git - kernel.git/commit
skbuff: Fix skb checksum partial check.
authorPravin B Shelar <pshelar@nicira.com>
Tue, 29 Sep 2015 00:24:25 +0000 (17:24 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Sep 2015 23:48:46 +0000 (16:48 -0700)
commitf8098edd72bcfc808aa41f4afeae5ccd2f690012
treefa7d2bb42af8e4f89805fbd5661f7a0d57d38132
parentc6b9b8dbeec12b5bda52b6cf9e07a314e0381485
skbuff: Fix skb checksum partial check.

Earlier patch 6376d0990 tried to detect void ckecksum partial
skb by comparing pull length to checksum offset. But it does
not work for all cases since checksum-offset depends on
updates to skb->data.

Following patch fixes it by validating checksum start offset
after skb-data pointer is updated. Negative value of checksum
offset start means there is no need to checksum.

Fixes: 6376d0990 ("skbuff: Fix skb checksum flag on skb pull")
Reported-by: Andrew Vagin <avagin@odin.com>
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/skbuff.h
net/core/skbuff.c