<div class="gmail_quote">On Wed, Apr 28, 2010 at 7:59 AM, Nick Couchman <span dir="ltr">&lt;<a href="mailto:Nick.Couchman@seakr.com">Nick.Couchman@seakr.com</a>&gt;</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.  &gt;<br>
<div class="im">&gt; Here&#39;s another version of the patch.  It may be slightly more robust and<br>
&gt; also contains some additional logging.  It against the master branch (not<br>
&gt; the previous patch):<br>
&gt;<br>
<br>
<br>
</div>This patch seems to keep it from crashing, and produces lots of output for those printk&#39;s you added in.  Below is some of the output.<br></blockquote><div><br></div><div>That&#39;s great that the patch solves the problem.  I&#39;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&#39;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&#39;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>