|
@@ -771,8 +771,7 @@ xfrm_policy_flush_secctx_check(struct net *net, u8 type, struct xfrm_audit *audi
|
|
|
|
|
|
int xfrm_policy_flush(struct net *net, u8 type, struct xfrm_audit *audit_info)
|
|
|
{
|
|
|
- int dir, err = 0, cnt = 0;
|
|
|
- struct xfrm_policy *dp;
|
|
|
+ int dir, err = 0;
|
|
|
|
|
|
write_lock_bh(&xfrm_policy_lock);
|
|
|
|
|
@@ -790,10 +789,8 @@ int xfrm_policy_flush(struct net *net, u8 type, struct xfrm_audit *audit_info)
|
|
|
&net->xfrm.policy_inexact[dir], bydst) {
|
|
|
if (pol->type != type)
|
|
|
continue;
|
|
|
- dp = __xfrm_policy_unlink(pol, dir);
|
|
|
+ __xfrm_policy_unlink(pol, dir);
|
|
|
write_unlock_bh(&xfrm_policy_lock);
|
|
|
- if (dp)
|
|
|
- cnt++;
|
|
|
|
|
|
xfrm_audit_policy_delete(pol, 1, audit_info->loginuid,
|
|
|
audit_info->sessionid,
|
|
@@ -812,10 +809,8 @@ int xfrm_policy_flush(struct net *net, u8 type, struct xfrm_audit *audit_info)
|
|
|
bydst) {
|
|
|
if (pol->type != type)
|
|
|
continue;
|
|
|
- dp = __xfrm_policy_unlink(pol, dir);
|
|
|
+ __xfrm_policy_unlink(pol, dir);
|
|
|
write_unlock_bh(&xfrm_policy_lock);
|
|
|
- if (dp)
|
|
|
- cnt++;
|
|
|
|
|
|
xfrm_audit_policy_delete(pol, 1,
|
|
|
audit_info->loginuid,
|
|
@@ -829,8 +824,6 @@ int xfrm_policy_flush(struct net *net, u8 type, struct xfrm_audit *audit_info)
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- if (!cnt)
|
|
|
- err = -ESRCH;
|
|
|
atomic_inc(&flow_cache_genid);
|
|
|
out:
|
|
|
write_unlock_bh(&xfrm_policy_lock);
|