From patchwork Tue Apr 7 14:34:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Phil Sutter X-Patchwork-Id: 1267457 X-Patchwork-Delegate: pablo@netfilter.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netfilter-devel-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=nwl.cc Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48xVLR3NXLz9sSG for ; Wed, 8 Apr 2020 00:35:11 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729081AbgDGOfL (ORCPT ); Tue, 7 Apr 2020 10:35:11 -0400 Received: from orbyte.nwl.cc ([151.80.46.58]:54954 "EHLO orbyte.nwl.cc" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728306AbgDGOfL (ORCPT ); Tue, 7 Apr 2020 10:35:11 -0400 Received: from localhost ([::1]:39812 helo=tatos) by orbyte.nwl.cc with esmtp (Exim 4.91) (envelope-from ) id 1jLpJl-0007fk-Vj; Tue, 07 Apr 2020 16:35:10 +0200 From: Phil Sutter To: Pablo Neira Ayuso Cc: netfilter-devel@vger.kernel.org Subject: [iptables PATCH 1/3] nft: cache: Eliminate init_chain_cache() Date: Tue, 7 Apr 2020 16:34:43 +0200 Message-Id: <20200407143445.26394-2-phil@nwl.cc> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200407143445.26394-1-phil@nwl.cc> References: <20200407143445.26394-1-phil@nwl.cc> MIME-Version: 1.0 Sender: netfilter-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org The function is always called immediately after fetch_table_cache(), so merge it into the latter. Signed-off-by: Phil Sutter --- iptables/nft-cache.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/iptables/nft-cache.c b/iptables/nft-cache.c index a0c76705c848e..369692fe44fc7 100644 --- a/iptables/nft-cache.c +++ b/iptables/nft-cache.c @@ -86,7 +86,7 @@ static int fetch_table_cache(struct nft_handle *h) char buf[16536]; struct nlmsghdr *nlh; struct nftnl_table_list *list; - int ret; + int i, ret; if (h->cache->tables) return 0; @@ -104,13 +104,6 @@ static int fetch_table_cache(struct nft_handle *h) h->cache->tables = list; - return 1; -} - -static int init_chain_cache(struct nft_handle *h) -{ - int i; - for (i = 0; i < NFT_TABLE_MAX; i++) { enum nft_table_type type = h->tables[i].type; @@ -119,9 +112,10 @@ static int init_chain_cache(struct nft_handle *h) h->cache->table[type].chains = nftnl_chain_list_alloc(); if (!h->cache->table[type].chains) - return -1; + return 0; } - return 0; + + return 1; } struct nftnl_chain_list_cb_data { @@ -458,7 +452,6 @@ __nft_build_cache(struct nft_handle *h, enum nft_cache_level level, switch (h->cache_level) { case NFT_CL_NONE: fetch_table_cache(h); - init_chain_cache(h); if (level == NFT_CL_TABLES) break; /* fall through */ @@ -505,7 +498,6 @@ void nft_build_cache(struct nft_handle *h, struct nftnl_chain *c) void nft_fake_cache(struct nft_handle *h) { fetch_table_cache(h); - init_chain_cache(h); h->cache_level = NFT_CL_FAKE; mnl_genid_get(h, &h->nft_genid);