summaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_output.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2017-11-07 18:11:56 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-11-07 18:11:56 -0800
commit0f1cd81d4a50ca99fb0b5cd8f68584bc5acab081 (patch)
treef0aa64e956d1d2addb2263ddcd238e9f014b36a0 /net/xfrm/xfrm_output.c
parent4e974c120039e35b90d2cb0459452bd9a6a71594 (diff)
parent39dae59d66acd86d1de24294bd2f343fd5e7a625 (diff)
downloadtalos-op-linux-0f1cd81d4a50ca99fb0b5cd8f68584bc5acab081.tar.gz
talos-op-linux-0f1cd81d4a50ca99fb0b5cd8f68584bc5acab081.zip
Merge tag 'v4.14-rc8' into next
Merge with mainline to bring in SPDX markings to avoid annoying merge problems when some header files get deleted.
Diffstat (limited to 'net/xfrm/xfrm_output.c')
-rw-r--r--net/xfrm/xfrm_output.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c
index 31a2e6d34dba..73ad8c8ef344 100644
--- a/net/xfrm/xfrm_output.c
+++ b/net/xfrm/xfrm_output.c
@@ -105,6 +105,9 @@ static int xfrm_output_one(struct sk_buff *skb, int err)
if (xfrm_offload(skb)) {
x->type_offload->encap(x, skb);
} else {
+ /* Inner headers are invalid now. */
+ skb->encapsulation = 0;
+
err = x->type->output(x, skb);
if (err == -EINPROGRESS)
goto out;
@@ -208,7 +211,6 @@ int xfrm_output(struct sock *sk, struct sk_buff *skb)
int err;
secpath_reset(skb);
- skb->encapsulation = 0;
if (xfrm_dev_offload_ok(skb, x)) {
struct sec_path *sp;
OpenPOWER on IntegriCloud