[ovs-dev] Kernel BUG on Xen

Ian Campbell Ian.Campbell at citrix.com
Tue May 11 10:03:13 UTC 2010


On Fri, 2010-04-30 at 02:02 +0100, Jesse Gross wrote:
> 
> Ian, the skb_pull_up_to() function that exhibits this problem was
> copied directly from Xen so I'm concerned that this issue has wider
> significance.  Some versions of skb_checksum_setup() (such as the one
> in openSUSE) simply check whether everything is within the skb linear
> data area and don't pull, which avoids the problem.  However, the
> version in XCP does the exact same thing as OVS. 
> 
> Is there a reason for the open coding in skb_pull_up_to() rather than
> using pskb_may_pull(), which would seem to be more canonical and adds
> a check to prevent running off the end of the packet? 

Thanks for the heads up Jesse.

netback in recent XenServer (since ~February), XCP and pvops kernels
will now ensure that at least 72 bytes is present in the linear part of
any received SKB and therefore there is no need to pull anything through
in skb_checksum_setup, so that patch (which added the skb_pull_up_to
stuff) was removed from our queue.

The changes are present in the XCP mercurial tree but I don't think
there has been an actual release with that change yet. The sequence of
patches to the XCP series is:
http://xenbits.xen.org/xapi/linux-2.6.27.pq.hg?rev/8ef096895c95
http://xenbits.xen.org/xapi/linux-2.6.27.pq.hg?rev/045359b727a8
In pvops kernels it is
http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=commit;h=5add68c2ee8a957c7732ad316cac3d58af0a5d4e
http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=commit;h=7b4879fa6892e0366993c006ebc079f69174a93c
(the changes to skb_checksum_setup were never present in this tree so no
need to drop them)

Ian.





More information about the dev mailing list