summaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorXin Long <lucien.xin@gmail.com>2020-03-26 17:02:31 +0800
committerSteffen Klassert <steffen.klassert@secunet.com>2020-03-26 14:51:07 +0100
commit308491755f36c461ee67290af159fdba6be0169d (patch)
tree5e18217a5a22b7548750780df7d06e00654e38fd /net/ipv6
parent7f9e40eb18a99979f194aa1bdc9bf1c358d3111a (diff)
downloadlinux-308491755f36c461ee67290af159fdba6be0169d.tar.gz
linux-308491755f36c461ee67290af159fdba6be0169d.tar.bz2
linux-308491755f36c461ee67290af159fdba6be0169d.zip
xfrm: add prep for esp beet mode offload
Like __xfrm_transport/mode_tunnel_prep(), this patch is to add __xfrm_mode_beet_prep() to fix the transport_header for gso segments, and reset skb mac_len, and pull skb data to the proto inside esp. This patch also fixes a panic, reported by ltp: # modprobe esp4_offload # runltp -f net_stress.ipsec_tcp [ 2452.780511] kernel BUG at net/core/skbuff.c:109! [ 2452.799851] Call Trace: [ 2452.800298] <IRQ> [ 2452.800705] skb_push.cold.98+0x14/0x20 [ 2452.801396] esp_xmit+0x17b/0x270 [esp4_offload] [ 2452.802799] validate_xmit_xfrm+0x22f/0x2e0 [ 2452.804285] __dev_queue_xmit+0x589/0x910 [ 2452.806264] __neigh_update+0x3d7/0xa50 [ 2452.806958] arp_process+0x259/0x810 [ 2452.807589] arp_rcv+0x18a/0x1c It was caused by the skb going to esp_xmit with a wrong transport header. Signed-off-by: Xin Long <lucien.xin@gmail.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'net/ipv6')
0 files changed, 0 insertions, 0 deletions