[ovs-git] [openvswitch/ovs] a75776: datapath: Update inner offsets when expanding head...

GitHub noreply at github.com
Mon Apr 13 20:53:40 UTC 2015


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: a75776e6091b8597d966bc1a1cabb150a2de08f0
      https://github.com/openvswitch/ovs/commit/a75776e6091b8597d966bc1a1cabb150a2de08f0
  Author: Jesse Gross <jesse at nicira.com>
  Date:   2015-04-13 (Mon, 13 Apr 2015)

  Changed paths:
    M datapath/linux/compat/gso.h
    M datapath/linux/compat/include/linux/skbuff.h
    M datapath/linux/compat/skbuff-openvswitch.c

  Log Message:
  -----------
  datapath: Update inner offsets when expanding headroom.

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. pskb_expand_head() is called in directly through
skb_cow_head() at the beginning of each of the tunnel transmit
routines.

Reported-by: Yinpeijun <yinpeijun at huawei.com>
Signed-off-by: Jesse Gross <jesse at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>




More information about the git mailing list