On Tue, Mar 31, 2015 at 1:12 PM, Pravin Shelar <pshe...@nicira.com> wrote: > On Tue, Mar 31, 2015 at 11:44 AM, Jesse Gross <je...@nicira.com> wrote: >> On Tue, Mar 31, 2015 at 11:02 AM, Pravin Shelar <pshe...@nicira.com> wrote: >>> On Tue, Mar 31, 2015 at 9:34 AM, Jesse Gross <je...@nicira.com> wrote: >>>> skb protocol offsets are relative to the beginning of the >>>> buffer and therefore must be updated if the buffer size is >>>> expanded. Kernel functions do this automatically for existing >>>> fields but obviously not for anything that we backport. This >>>> introduces a wrapper for pskb_expand_head() to update the >>>> inner protocol fields that we have backported. >>>> >>>> Without this, a kernel crash can be triggered with tunnel >>>> packets that do not have enough headroom and need to be >>>> segmented. >>>> >>> which pskb_expand head actually causes this issue for vxlan? >> >> This is the result of skb_cow_head() in vxlan_xmit_skb(). >> > > Dont we also need to fix skb_cow_head()? otherwise OVS could use > kernel defined function to expand skb and could skip compat version > entirely.
skb_cow_head (and its helpers) are inline functions in the kernel header files. So even when we use the kernel's version it should still pick up our backported pskb_expand_head() and by intercepting the calls there we should pick up a wider set of callers. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev