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
next prev parent 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