From 97fbef55d1e89ca73bf1e6b31ac46d756ac499f1 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Mon, 7 Oct 2019 12:35:21 +0200 Subject: nft: Avoid nested cache fetching Don't call fetch_table_cache() from within fetch_chain_cache() but instead from __nft_build_cache(). Since that is the only caller of fetch_chain_cache(), this change should not have any effect in practice. Signed-off-by: Phil Sutter Acked-by: Pablo Neira Ayuso --- iptables/nft.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/iptables/nft.c b/iptables/nft.c index bdc9fbc3..3228842c 100644 --- a/iptables/nft.c +++ b/iptables/nft.c @@ -1414,8 +1414,6 @@ static int fetch_chain_cache(struct nft_handle *h) struct nlmsghdr *nlh; int i, ret; - fetch_table_cache(h); - for (i = 0; i < NFT_TABLE_MAX; i++) { enum nft_table_type type = h->tables[i].type; @@ -1592,6 +1590,7 @@ static void __nft_build_cache(struct nft_handle *h) retry: mnl_genid_get(h, &genid_start); + fetch_table_cache(h); fetch_chain_cache(h); fetch_rule_cache(h); h->have_cache = true; -- cgit v1.2.3