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
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: kbuild-all@lists.01.org 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> [-- Attachment #1: Type: text/plain, Size: 6271 bytes --] 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(a)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(a)lists.01.org
next prev parent reply other threads:[~2021-12-10 14:29 UTC|newest] Thread overview: 21+ 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 14:28 ` kernel test robot 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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.