<div class="gmail_quote">On Wed, Apr 28, 2010 at 7:59 AM, Nick Couchman <span dir="ltr"><<a href="mailto:Nick.Couchman@seakr.com">Nick.Couchman@seakr.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Well, this seems to keep things from crashing. ><br>
<div class="im">> Here's another version of the patch. It may be slightly more robust and<br>
> also contains some additional logging. It against the master branch (not<br>
> the previous patch):<br>
><br>
<br>
<br>
</div>This patch seems to keep it from crashing, and produces lots of output for those printk's you added in. Below is some of the output.<br></blockquote><div><br></div><div>That's great that the patch solves the problem. I'll send out a more finished version shortly.</div>
<div><br></div><div>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.</div>
<div><br></div><div>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?</div></div>