diff options
Diffstat (limited to 'net/key/af_key.c')
-rw-r--r-- | net/key/af_key.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/key/af_key.c b/net/key/af_key.c index 1c58204d767e..3542435e9d40 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c | |||
@@ -2294,14 +2294,12 @@ static int pfkey_spddelete(struct sock *sk, struct sk_buff *skb, struct sadb_msg | |||
2294 | } | 2294 | } |
2295 | 2295 | ||
2296 | xp = xfrm_policy_bysel_ctx(XFRM_POLICY_TYPE_MAIN, pol->sadb_x_policy_dir-1, | 2296 | xp = xfrm_policy_bysel_ctx(XFRM_POLICY_TYPE_MAIN, pol->sadb_x_policy_dir-1, |
2297 | &sel, tmp.security, 1); | 2297 | &sel, tmp.security, 1, &err); |
2298 | security_xfrm_policy_free(&tmp); | 2298 | security_xfrm_policy_free(&tmp); |
2299 | 2299 | ||
2300 | if (xp == NULL) | 2300 | if (xp == NULL) |
2301 | return -ENOENT; | 2301 | return -ENOENT; |
2302 | 2302 | ||
2303 | err = security_xfrm_policy_delete(xp); | ||
2304 | |||
2305 | xfrm_audit_log(audit_get_loginuid(current->audit_context), 0, | 2303 | xfrm_audit_log(audit_get_loginuid(current->audit_context), 0, |
2306 | AUDIT_MAC_IPSEC_DELSPD, err ? 0 : 1, xp, NULL); | 2304 | AUDIT_MAC_IPSEC_DELSPD, err ? 0 : 1, xp, NULL); |
2307 | 2305 | ||
@@ -2552,7 +2550,7 @@ static int pfkey_spdget(struct sock *sk, struct sk_buff *skb, struct sadb_msg *h | |||
2552 | return -EINVAL; | 2550 | return -EINVAL; |
2553 | 2551 | ||
2554 | xp = xfrm_policy_byid(XFRM_POLICY_TYPE_MAIN, dir, pol->sadb_x_policy_id, | 2552 | xp = xfrm_policy_byid(XFRM_POLICY_TYPE_MAIN, dir, pol->sadb_x_policy_id, |
2555 | hdr->sadb_msg_type == SADB_X_SPDDELETE2); | 2553 | hdr->sadb_msg_type == SADB_X_SPDDELETE2, &err); |
2556 | if (xp == NULL) | 2554 | if (xp == NULL) |
2557 | return -ENOENT; | 2555 | return -ENOENT; |
2558 | 2556 | ||