Re: [PATCH bpf-next] selftests/bpf: Do not fail build if CONFIG_NF_CONNTRACK=m/n

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 20, 2022 at 8:50 AM Kumar Kartikeya Dwivedi
<memxor@xxxxxxxxx> wrote:
>
> Some users have complained that selftests fail to build when
> CONFIG_NF_CONNTRACK=m. It would be useful to allow building as long as
> it is set to module or built-in, even though in case of building as
> module, user would need to load it before running the selftest. Note
> that this also allows building selftest when CONFIG_NF_CONNTRACK is
> disabled.
>
> Signed-off-by: Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx>
> ---
>  tools/testing/selftests/bpf/progs/test_bpf_nf.c | 17 +++++++++++++----
>  1 file changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/progs/test_bpf_nf.c b/tools/testing/selftests/bpf/progs/test_bpf_nf.c
> index 6f131c993c0b..d048d355a69f 100644
> --- a/tools/testing/selftests/bpf/progs/test_bpf_nf.c
> +++ b/tools/testing/selftests/bpf/progs/test_bpf_nf.c
> @@ -17,18 +17,27 @@ int test_enonet_netns_id = 0;
>  int test_enoent_lookup = 0;
>  int test_eafnosupport = 0;
>
> +struct nf_conn;
> +
> +struct bpf_ct_opts___local {
> +       s32 netns_id;
> +       s32 error;
> +       u8 l4proto;
> +       u8 reserved[3];
> +};

I've added __attribute__((preserve_access_index)) to make it
CO-RE-relocatable, just in case. Applied to bpf-next.

> +
>  struct nf_conn *bpf_xdp_ct_lookup(struct xdp_md *, struct bpf_sock_tuple *, u32,
> -                                 struct bpf_ct_opts *, u32) __ksym;
> +                                 struct bpf_ct_opts___local *, u32) __ksym;
>  struct nf_conn *bpf_skb_ct_lookup(struct __sk_buff *, struct bpf_sock_tuple *, u32,
> -                                 struct bpf_ct_opts *, u32) __ksym;
> +                                 struct bpf_ct_opts___local *, u32) __ksym;
>  void bpf_ct_release(struct nf_conn *) __ksym;
>
>  static __always_inline void
>  nf_ct_test(struct nf_conn *(*func)(void *, struct bpf_sock_tuple *, u32,
> -                                  struct bpf_ct_opts *, u32),
> +                                  struct bpf_ct_opts___local *, u32),
>            void *ctx)
>  {
> -       struct bpf_ct_opts opts_def = { .l4proto = IPPROTO_TCP, .netns_id = -1 };
> +       struct bpf_ct_opts___local opts_def = { .l4proto = IPPROTO_TCP, .netns_id = -1 };
>         struct bpf_sock_tuple bpf_tuple;
>         struct nf_conn *ct;
>
> --
> 2.34.1
>



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux