summaryrefslogtreecommitdiff
path: root/net/xfrm/xfrm_input.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2016-05-04 14:41:51 +0100
committerMark Brown <broonie@kernel.org>2016-05-04 14:41:51 +0100
commit3d277b177918cd26215732fc23af0783ab4b37dd (patch)
tree2033b4f517415e9e68eb066fa073b79a3884e03d /net/xfrm/xfrm_input.c
parentf55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff)
parent02da2d72174c61988eb4456b53f405e3ebdebce4 (diff)
downloadlinux-3d277b177918cd26215732fc23af0783ab4b37dd.tar.gz
linux-3d277b177918cd26215732fc23af0783ab4b37dd.tar.xz
Merge tag 'v4.6-rc5' into spi-rockchip
Linux 4.6-rc5
Diffstat (limited to 'net/xfrm/xfrm_input.c')
-rw-r--r--net/xfrm/xfrm_input.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c
index ad7f5b3f9b61..1c4ad477ce93 100644
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
@@ -292,12 +292,15 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
XFRM_SKB_CB(skb)->seq.input.hi = seq_hi;
skb_dst_force(skb);
+ dev_hold(skb->dev);
nexthdr = x->type->input(x, skb);
if (nexthdr == -EINPROGRESS)
return 0;
resume:
+ dev_put(skb->dev);
+
spin_lock(&x->lock);
if (nexthdr <= 0) {
if (nexthdr == -EBADMSG) {