aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/xfrm/xfrm_policy.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index 95271e8426a1..d0882e53b6fc 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -796,6 +796,10 @@ struct xfrm_policy *xfrm_policy_byid(u8 type, int dir, u32 id, int delete,
796 struct hlist_head *chain; 796 struct hlist_head *chain;
797 struct hlist_node *entry; 797 struct hlist_node *entry;
798 798
799 *err = -ENOENT;
800 if (xfrm_policy_id2dir(id) != dir)
801 return NULL;
802
799 *err = 0; 803 *err = 0;
800 write_lock_bh(&xfrm_policy_lock); 804 write_lock_bh(&xfrm_policy_lock);
801 chain = xfrm_policy_byidx + idx_hash(id); 805 chain = xfrm_policy_byidx + idx_hash(id);