diff options
Diffstat (limited to 'net/key/af_key.c')
-rw-r--r-- | net/key/af_key.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/key/af_key.c b/net/key/af_key.c index c269ce6094d6..a20d2fa88db9 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c | |||
@@ -2735,8 +2735,11 @@ static int pfkey_spdflush(struct sock *sk, struct sk_buff *skb, struct sadb_msg | |||
2735 | audit_info.secid = 0; | 2735 | audit_info.secid = 0; |
2736 | err = xfrm_policy_flush(net, XFRM_POLICY_TYPE_MAIN, &audit_info); | 2736 | err = xfrm_policy_flush(net, XFRM_POLICY_TYPE_MAIN, &audit_info); |
2737 | err2 = unicast_flush_resp(sk, hdr); | 2737 | err2 = unicast_flush_resp(sk, hdr); |
2738 | if (err || err2) | 2738 | if (err || err2) { |
2739 | return err ? err : err2; | 2739 | if (err == -ESRCH) /* empty table - old silent behavior */ |
2740 | return 0; | ||
2741 | return err; | ||
2742 | } | ||
2740 | 2743 | ||
2741 | c.data.type = XFRM_POLICY_TYPE_MAIN; | 2744 | c.data.type = XFRM_POLICY_TYPE_MAIN; |
2742 | c.event = XFRM_MSG_FLUSHPOLICY; | 2745 | c.event = XFRM_MSG_FLUSHPOLICY; |