From: kernel test robot <lkp@intel.com>
To: Phil Sutter <phil@nwl.cc>, Pablo Neira Ayuso <pablo@netfilter.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
netfilter-devel@vger.kernel.org, Florian Westphal <fw@strlen.de>,
audit@vger.kernel.org
Subject: Re: [nf PATCH 1/2] netfilter: nf_tables: Fix entries val in rule reset audit log
Date: Fri, 8 Sep 2023 11:17:46 +0800 [thread overview]
Message-ID: <202309081138.IpMoJwFy-lkp@intel.com> (raw)
In-Reply-To: <20230908002229.1409-2-phil@nwl.cc>
Hi Phil,
kernel test robot noticed the following build warnings:
[auto build test WARNING on netfilter-nf/main]
url: https://github.com/intel-lab-lkp/linux/commits/Phil-Sutter/netfilter-nf_tables-Fix-entries-val-in-rule-reset-audit-log/20230908-082530
base: git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git main
patch link: https://lore.kernel.org/r/20230908002229.1409-2-phil%40nwl.cc
patch subject: [nf PATCH 1/2] netfilter: nf_tables: Fix entries val in rule reset audit log
config: mips-randconfig-r002-20230908 (https://download.01.org/0day-ci/archive/20230908/202309081138.IpMoJwFy-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230908/202309081138.IpMoJwFy-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309081138.IpMoJwFy-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> net/netfilter/nf_tables_api.c:3536:11: warning: comparison of distinct pointer types ('typeof (idx) *' (aka 'unsigned int *') and 'typeof (cb->args[0]) *' (aka 'long *')) [-Wcompare-distinct-pointer-types]
3536 | s_idx = max(idx, cb->args[0]);
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:74:19: note: expanded from macro 'max'
74 | #define max(x, y) __careful_cmp(x, y, >)
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:36:24: note: expanded from macro '__careful_cmp'
36 | __builtin_choose_expr(__safe_cmp(x, y), \
| ^~~~~~~~~~~~~~~~
include/linux/minmax.h:26:4: note: expanded from macro '__safe_cmp'
26 | (__typecheck(x, y) && __no_side_effects(x, y))
| ^~~~~~~~~~~~~~~~~
include/linux/minmax.h:20:28: note: expanded from macro '__typecheck'
20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
1 warning generated.
vim +3536 net/netfilter/nf_tables_api.c
3486
3487 static int nf_tables_dump_rules(struct sk_buff *skb,
3488 struct netlink_callback *cb)
3489 {
3490 const struct nfgenmsg *nfmsg = nlmsg_data(cb->nlh);
3491 const struct nft_rule_dump_ctx *ctx = cb->data;
3492 struct nft_table *table;
3493 const struct nft_chain *chain;
3494 unsigned int idx = 0, s_idx;
3495 struct net *net = sock_net(skb->sk);
3496 int family = nfmsg->nfgen_family;
3497 struct nftables_pernet *nft_net;
3498 bool reset = false;
3499 int ret;
3500
3501 if (NFNL_MSG_TYPE(cb->nlh->nlmsg_type) == NFT_MSG_GETRULE_RESET)
3502 reset = true;
3503
3504 rcu_read_lock();
3505 nft_net = nft_pernet(net);
3506 cb->seq = READ_ONCE(nft_net->base_seq);
3507
3508 list_for_each_entry_rcu(table, &nft_net->tables, list) {
3509 if (family != NFPROTO_UNSPEC && family != table->family)
3510 continue;
3511
3512 if (ctx && ctx->table && strcmp(ctx->table, table->name) != 0)
3513 continue;
3514
3515 if (ctx && ctx->table && ctx->chain) {
3516 struct rhlist_head *list, *tmp;
3517
3518 list = rhltable_lookup(&table->chains_ht, ctx->chain,
3519 nft_chain_ht_params);
3520 if (!list)
3521 goto done;
3522
3523 rhl_for_each_entry_rcu(chain, tmp, list, rhlhead) {
3524 if (!nft_is_active(net, chain))
3525 continue;
3526 __nf_tables_dump_rules(skb, &idx,
3527 cb, table, chain, reset);
3528 break;
3529 }
3530 if (reset && idx > cb->args[0])
3531 audit_log_rule_reset(table, cb->seq,
3532 idx - cb->args[0]);
3533 goto done;
3534 }
3535
> 3536 s_idx = max(idx, cb->args[0]);
3537 list_for_each_entry_rcu(chain, &table->chains, list) {
3538 ret = __nf_tables_dump_rules(skb, &idx,
3539 cb, table, chain, reset);
3540 if (ret)
3541 break;
3542 }
3543 if (reset && idx > s_idx)
3544 audit_log_rule_reset(table, cb->seq, idx - s_idx);
3545
3546 if ((ctx && ctx->table) || ret)
3547 break;
3548 }
3549 done:
3550 rcu_read_unlock();
3551
3552 cb->args[0] = idx;
3553 return skb->len;
3554 }
3555
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
parent reply other threads:[~2023-09-08 3:18 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <20230908002229.1409-2-phil@nwl.cc>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202309081138.IpMoJwFy-lkp@intel.com \
--to=lkp@intel.com \
--cc=audit@vger.kernel.org \
--cc=fw@strlen.de \
--cc=llvm@lists.linux.dev \
--cc=netfilter-devel@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pablo@netfilter.org \
--cc=phil@nwl.cc \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox