diff options
Diffstat (limited to 'net/xfrm/xfrm_interface.c')
| -rw-r--r-- | net/xfrm/xfrm_interface.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/xfrm/xfrm_interface.c b/net/xfrm/xfrm_interface.c index 6be8c7df15bb..dbb3c1945b5c 100644 --- a/net/xfrm/xfrm_interface.c +++ b/net/xfrm/xfrm_interface.c | |||
| @@ -76,10 +76,10 @@ static struct xfrm_if *xfrmi_decode_session(struct sk_buff *skb) | |||
| 76 | int ifindex; | 76 | int ifindex; |
| 77 | struct xfrm_if *xi; | 77 | struct xfrm_if *xi; |
| 78 | 78 | ||
| 79 | if (!skb->dev) | 79 | if (!secpath_exists(skb) || !skb->dev) |
| 80 | return NULL; | 80 | return NULL; |
| 81 | 81 | ||
| 82 | xfrmn = net_generic(dev_net(skb->dev), xfrmi_net_id); | 82 | xfrmn = net_generic(xs_net(xfrm_input_state(skb)), xfrmi_net_id); |
| 83 | ifindex = skb->dev->ifindex; | 83 | ifindex = skb->dev->ifindex; |
| 84 | 84 | ||
| 85 | for_each_xfrmi_rcu(xfrmn->xfrmi[0], xi) { | 85 | for_each_xfrmi_rcu(xfrmn->xfrmi[0], xi) { |
