BPF List
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Kumar Kartikeya Dwivedi <memxor@gmail.com>, bpf@vger.kernel.org
Cc: kbuild-all@lists.01.org, Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Andrii Nakryiko <andrii@kernel.org>,
	Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
	Yonghong Song <yhs@fb.com>,
	John Fastabend <john.fastabend@gmail.com>,
	Maxim Mikityanskiy <maximmi@nvidia.com>,
	Florian Westphal <fw@strlen.de>
Subject: Re: [PATCH bpf-next v3 7/9] net/netfilter: Add unstable CT lookup helpers for XDP and TC-BPF
Date: Fri, 10 Dec 2021 22:28:13 +0800	[thread overview]
Message-ID: <202112102230.6cj0WCoX-lkp@intel.com> (raw)
In-Reply-To: <20211210130230.4128676-8-memxor@gmail.com>

Hi Kumar,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on bpf-next/master]

url:    https://github.com/0day-ci/linux/commits/Kumar-Kartikeya-Dwivedi/Introduce-unstable-CT-lookup-helpers/20211210-210439
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: arc-randconfig-r043-20211210 (https://download.01.org/0day-ci/archive/20211210/202112102230.6cj0WCoX-lkp@intel.com/config)
compiler: arc-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/683d78cc594f7867b8dae78b357ab82a5ee69484
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Kumar-Kartikeya-Dwivedi/Introduce-unstable-CT-lookup-helpers/20211210-210439
        git checkout 683d78cc594f7867b8dae78b357ab82a5ee69484
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash net/netfilter/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> net/netfilter/nf_conntrack_core.c:2566:17: warning: no previous prototype for 'bpf_xdp_ct_lookup' [-Wmissing-prototypes]
    2566 | struct nf_conn *bpf_xdp_ct_lookup(struct xdp_md *xdp_ctx,
         |                 ^~~~~~~~~~~~~~~~~
>> net/netfilter/nf_conntrack_core.c:2610:17: warning: no previous prototype for 'bpf_skb_ct_lookup' [-Wmissing-prototypes]
    2610 | struct nf_conn *bpf_skb_ct_lookup(struct __sk_buff *skb_ctx,
         |                 ^~~~~~~~~~~~~~~~~
>> net/netfilter/nf_conntrack_core.c:2648:6: warning: no previous prototype for 'bpf_ct_release' [-Wmissing-prototypes]
    2648 | void bpf_ct_release(struct nf_conn *nfct)
         |      ^~~~~~~~~~~~~~


vim +/bpf_xdp_ct_lookup +2566 net/netfilter/nf_conntrack_core.c

  2549	
  2550	/* bpf_xdp_ct_lookup - Lookup CT entry for the given tuple, and acquire a
  2551	 *		       reference to it
  2552	 *
  2553	 * Parameters:
  2554	 * @xdp_ctx	- Pointer to ctx (xdp_md) in XDP program
  2555	 *		    Cannot be NULL
  2556	 * @bpf_tuple	- Pointer to memory representing the tuple to look up
  2557	 *		    Cannot be NULL
  2558	 * @len__tuple	- Length of the tuple structure
  2559	 *		    Must be one of sizeof(bpf_tuple->ipv4) or
  2560	 *		    sizeof(bpf_tuple->ipv6)
  2561	 * @opts	- Additional options for lookup (documented above)
  2562	 *		    Cannot be NULL
  2563	 * @len__opts	- Length of the bpf_ct_opts structure
  2564	 *		    Must be NF_BPF_CT_OPTS_SZ (12)
  2565	 */
> 2566	struct nf_conn *bpf_xdp_ct_lookup(struct xdp_md *xdp_ctx,
  2567					  struct bpf_sock_tuple *bpf_tuple,
  2568					  u32 len__tuple, struct bpf_ct_opts *opts,
  2569					  u32 len__opts)
  2570	{
  2571		struct xdp_buff *ctx = (struct xdp_buff *)xdp_ctx;
  2572		struct net *caller_net;
  2573		struct nf_conn *nfct;
  2574	
  2575		BUILD_BUG_ON(sizeof(struct bpf_ct_opts) != NF_BPF_CT_OPTS_SZ);
  2576	
  2577		if (!opts)
  2578			return NULL;
  2579		if (!bpf_tuple || opts->reserved[0] || opts->reserved[1] ||
  2580		    opts->reserved[2] || len__opts != NF_BPF_CT_OPTS_SZ) {
  2581			opts->error = -EINVAL;
  2582			return NULL;
  2583		}
  2584		caller_net = dev_net(ctx->rxq->dev);
  2585		nfct = __bpf_nf_ct_lookup(caller_net, bpf_tuple, len__tuple, opts->l4proto,
  2586					  opts->netns_id);
  2587		if (IS_ERR(nfct)) {
  2588			opts->error = PTR_ERR(nfct);
  2589			return NULL;
  2590		}
  2591		return nfct;
  2592	}
  2593	
  2594	/* bpf_skb_ct_lookup - Lookup CT entry for the given tuple, and acquire a
  2595	 *		       reference to it
  2596	 *
  2597	 * Parameters:
  2598	 * @skb_ctx	- Pointer to ctx (__sk_buff) in TC program
  2599	 *		    Cannot be NULL
  2600	 * @bpf_tuple	- Pointer to memory representing the tuple to look up
  2601	 *		    Cannot be NULL
  2602	 * @len__tuple	- Length of the tuple structure
  2603	 *		    Must be one of sizeof(bpf_tuple->ipv4) or
  2604	 *		    sizeof(bpf_tuple->ipv6)
  2605	 * @opts	- Additional options for lookup (documented above)
  2606	 *		    Cannot be NULL
  2607	 * @len__opts	- Length of the bpf_ct_opts structure
  2608	 *		    Must be NF_BPF_CT_OPTS_SZ (12)
  2609	 */
> 2610	struct nf_conn *bpf_skb_ct_lookup(struct __sk_buff *skb_ctx,
  2611					  struct bpf_sock_tuple *bpf_tuple,
  2612					  u32 len__tuple, struct bpf_ct_opts *opts,
  2613					  u32 len__opts)
  2614	{
  2615		struct sk_buff *skb = (struct sk_buff *)skb_ctx;
  2616		struct net *caller_net;
  2617		struct nf_conn *nfct;
  2618	
  2619		BUILD_BUG_ON(sizeof(struct bpf_ct_opts) != NF_BPF_CT_OPTS_SZ);
  2620	
  2621		if (!opts)
  2622			return NULL;
  2623		if (!bpf_tuple || opts->reserved[0] || opts->reserved[1] ||
  2624		    opts->reserved[2] || len__opts != NF_BPF_CT_OPTS_SZ) {
  2625			opts->error = -EINVAL;
  2626			return NULL;
  2627		}
  2628		caller_net = skb->dev ? dev_net(skb->dev) : sock_net(skb->sk);
  2629		nfct = __bpf_nf_ct_lookup(caller_net, bpf_tuple, len__tuple, opts->l4proto,
  2630					  opts->netns_id);
  2631		if (IS_ERR(nfct)) {
  2632			opts->error = PTR_ERR(nfct);
  2633			return NULL;
  2634		}
  2635		return nfct;
  2636	}
  2637	
  2638	/* bpf_ct_release - Release acquired nf_conn object
  2639	 *
  2640	 * This must be invoked for referenced PTR_TO_BTF_ID, and the verifier rejects
  2641	 * the program if any references remain in the program in all of the explored
  2642	 * states.
  2643	 *
  2644	 * Parameters:
  2645	 * @nf_conn	 - Pointer to referenced nf_conn object, obtained using
  2646	 *		   bpf_xdp_ct_lookup or bpf_skb_ct_lookup.
  2647	 */
> 2648	void bpf_ct_release(struct nf_conn *nfct)
  2649	{
  2650		if (!nfct)
  2651			return;
  2652		nf_ct_put(nfct);
  2653	}
  2654	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

  reply	other threads:[~2021-12-10 14:29 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-10 13:02 [PATCH bpf-next v3 0/9] Introduce unstable CT lookup helpers Kumar Kartikeya Dwivedi
2021-12-10 13:02 ` [PATCH bpf-next v3 1/9] bpf: Refactor bpf_check_mod_kfunc_call Kumar Kartikeya Dwivedi
2021-12-10 13:02 ` [PATCH bpf-next v3 2/9] bpf: Remove DEFINE_KFUNC_BTF_ID_SET Kumar Kartikeya Dwivedi
2021-12-10 13:02 ` [PATCH bpf-next v3 3/9] bpf: Extend kfunc with PTR_TO_CTX, PTR_TO_MEM argument support Kumar Kartikeya Dwivedi
2021-12-10 13:02 ` [PATCH bpf-next v3 4/9] bpf: Introduce mem, size argument pair support for kfunc Kumar Kartikeya Dwivedi
2021-12-10 13:02 ` [PATCH bpf-next v3 5/9] bpf: Add reference tracking support to kfunc Kumar Kartikeya Dwivedi
2021-12-10 13:02 ` [PATCH bpf-next v3 6/9] bpf: Track provenance for pointers formed from referenced PTR_TO_BTF_ID Kumar Kartikeya Dwivedi
2021-12-10 13:02 ` [PATCH bpf-next v3 7/9] net/netfilter: Add unstable CT lookup helpers for XDP and TC-BPF Kumar Kartikeya Dwivedi
2021-12-10 14:28   ` kernel test robot [this message]
2021-12-10 15:09   ` Pablo Neira Ayuso
2021-12-10 15:31     ` Kumar Kartikeya Dwivedi
2021-12-10 23:03       ` Pablo Neira Ayuso
2021-12-11 18:35         ` Toke Høiland-Jørgensen
2021-12-11 19:16           ` Pablo Neira Ayuso
2021-12-13 21:25             ` Toke Høiland-Jørgensen
2021-12-15 23:49               ` Pablo Neira Ayuso
2021-12-10 13:02 ` [PATCH bpf-next v3 8/9] selftests/bpf: Extend kfunc selftests Kumar Kartikeya Dwivedi
2021-12-10 13:02 ` [PATCH bpf-next v3 9/9] selftests/bpf: Add test for unstable CT lookup API Kumar Kartikeya Dwivedi
2021-12-14 14:13   ` Maxim Mikityanskiy
2021-12-14 14:34     ` Kumar Kartikeya Dwivedi

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=202112102230.6cj0WCoX-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=fw@strlen.de \
    --cc=john.fastabend@gmail.com \
    --cc=kafai@fb.com \
    --cc=kbuild-all@lists.01.org \
    --cc=maximmi@nvidia.com \
    --cc=memxor@gmail.com \
    --cc=songliubraving@fb.com \
    --cc=yhs@fb.com \
    /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