[PATCH nf-next 1/1] netfilter: cttimeout: Refine cttimeout_del_timeout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Gao Feng <fgao@xxxxxxxxxx>

1. Return one error when try to delete all timeouts and meet one erorr;
2. Delete the condition block when fail to delete specified timeout.
It is more clear that it would stop the loop when find one matched timeout.

Signed-off-by: Gao Feng <fgao@xxxxxxxxxx>
---
 net/netfilter/nfnetlink_cttimeout.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/net/netfilter/nfnetlink_cttimeout.c b/net/netfilter/nfnetlink_cttimeout.c
index baa75f3..220847a 100644
--- a/net/netfilter/nfnetlink_cttimeout.c
+++ b/net/netfilter/nfnetlink_cttimeout.c
@@ -361,11 +361,17 @@ static int cttimeout_del_timeout(struct net *net, struct sock *ctnl,
 	char *name;
 
 	if (!cda[CTA_TIMEOUT_NAME]) {
+		int cur_ret;
+
+		ret = 0;
 		list_for_each_entry_safe(cur, tmp, &net->nfct_timeout_list,
-					 head)
-			ctnl_timeout_try_del(net, cur);
+					 head) {
+			cur_ret = ctnl_timeout_try_del(net, cur);
+			if (cur_ret && !ret)
+				ret = cur_ret;
+		}
 
-		return 0;
+		return ret;
 	}
 	name = nla_data(cda[CTA_TIMEOUT_NAME]);
 
@@ -374,9 +380,6 @@ static int cttimeout_del_timeout(struct net *net, struct sock *ctnl,
 			continue;
 
 		ret = ctnl_timeout_try_del(net, cur);
-		if (ret < 0)
-			return ret;
-
 		break;
 	}
 	return ret;
-- 
1.9.1




--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux