From 0cebaafa6e721bda850ee88e84c4712643601e49 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 8 Dec 2014 12:21:17 +0000 Subject: [PATCH] kernel: add missing check for skb->dev on netfilter xfrm optimization patch Signed-off-by: Felix Fietkau SVN-Revision: 43567 --- .../generic/patches-3.10/616-net_optimize_xfrm_calls.patch | 2 +- .../generic/patches-3.14/616-net_optimize_xfrm_calls.patch | 2 +- .../generic/patches-3.18/616-net_optimize_xfrm_calls.patch | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/target/linux/generic/patches-3.10/616-net_optimize_xfrm_calls.patch b/target/linux/generic/patches-3.10/616-net_optimize_xfrm_calls.patch index 5724367c1f1f..1caf1ef59c9c 100644 --- a/target/linux/generic/patches-3.10/616-net_optimize_xfrm_calls.patch +++ b/target/linux/generic/patches-3.10/616-net_optimize_xfrm_calls.patch @@ -4,7 +4,7 @@ struct dst_entry *dst; int err; -+ if (!dev_net(skb->dev)->xfrm.policy_count[XFRM_POLICY_OUT]) ++ if (skb->dev && !dev_net(skb->dev)->xfrm.policy_count[XFRM_POLICY_OUT]) + return 0; + err = xfrm_decode_session(skb, &fl, family); diff --git a/target/linux/generic/patches-3.14/616-net_optimize_xfrm_calls.patch b/target/linux/generic/patches-3.14/616-net_optimize_xfrm_calls.patch index a4e415730016..2a64d5420a4c 100644 --- a/target/linux/generic/patches-3.14/616-net_optimize_xfrm_calls.patch +++ b/target/linux/generic/patches-3.14/616-net_optimize_xfrm_calls.patch @@ -4,7 +4,7 @@ struct dst_entry *dst; int err; -+ if (!dev_net(skb->dev)->xfrm.policy_count[XFRM_POLICY_OUT]) ++ if (skb->dev && !dev_net(skb->dev)->xfrm.policy_count[XFRM_POLICY_OUT]) + return 0; + err = xfrm_decode_session(skb, &fl, family); diff --git a/target/linux/generic/patches-3.18/616-net_optimize_xfrm_calls.patch b/target/linux/generic/patches-3.18/616-net_optimize_xfrm_calls.patch index a4e415730016..2a64d5420a4c 100644 --- a/target/linux/generic/patches-3.18/616-net_optimize_xfrm_calls.patch +++ b/target/linux/generic/patches-3.18/616-net_optimize_xfrm_calls.patch @@ -4,7 +4,7 @@ struct dst_entry *dst; int err; -+ if (!dev_net(skb->dev)->xfrm.policy_count[XFRM_POLICY_OUT]) ++ if (skb->dev && !dev_net(skb->dev)->xfrm.policy_count[XFRM_POLICY_OUT]) + return 0; + err = xfrm_decode_session(skb, &fl, family); -- 2.30.2