lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sun, 2 Apr 2023 08:49:49 -0700
From:   Alexei Starovoitov <alexei.starovoitov@...il.com>
To:     Jesper Dangaard Brouer <brouer@...hat.com>
Cc:     bpf <bpf@...r.kernel.org>, Stanislav Fomichev <sdf@...gle.com>,
        Toke Høiland-Jørgensen <toke@...hat.com>,
        Network Development <netdev@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Martin KaFai Lau <martin.lau@...nel.org>,
        Alexei Starovoitov <ast@...nel.org>,
        Daniel Borkmann <daniel@...earbox.net>,
        Alexander Lobakin <alexandr.lobakin@...el.com>,
        Larysa Zaremba <larysa.zaremba@...el.com>,
        xdp-hints@...-project.net, anthony.l.nguyen@...el.com,
        "Song, Yoong Siang" <yoong.siang.song@...el.com>,
        "Ong, Boon Leong" <boon.leong.ong@...el.com>,
        intel-wired-lan <intel-wired-lan@...ts.osuosl.org>,
        Paolo Abeni <pabeni@...hat.com>,
        Jesse Brandeburg <jesse.brandeburg@...el.com>,
        Jakub Kicinski <kuba@...nel.org>,
        Eric Dumazet <edumazet@...gle.com>,
        John Fastabend <john.fastabend@...il.com>,
        Jesper Dangaard Brouer <hawk@...nel.org>,
        "David S. Miller" <davem@...emloft.net>,
        Tariq Toukan <tariqt@...dia.com>,
        Saeed Mahameed <saeedm@...dia.com>,
        Leon Romanovsky <leon@...nel.org>, linux-rdma@...r.kernel.org
Subject: Re: [PATCH bpf V6 5/5] selftests/bpf: Adjust bpf_xdp_metadata_rx_hash
 for new arg

On Sun, Apr 2, 2023 at 1:30 AM Jesper Dangaard Brouer <brouer@...hat.com> wrote:
>
> Update BPF selftests to use the new RSS type argument for kfunc
> bpf_xdp_metadata_rx_hash.
>
> Signed-off-by: Jesper Dangaard Brouer <brouer@...hat.com>
> Acked-by: Toke Høiland-Jørgensen <toke@...hat.com>
> Acked-by: Stanislav Fomichev <sdf@...gle.com>
> ---
>  .../selftests/bpf/prog_tests/xdp_metadata.c        |    2 ++
>  .../testing/selftests/bpf/progs/xdp_hw_metadata.c  |   14 +++++++++-----
>  tools/testing/selftests/bpf/progs/xdp_metadata.c   |    6 +++---
>  tools/testing/selftests/bpf/progs/xdp_metadata2.c  |    7 ++++---
>  tools/testing/selftests/bpf/xdp_hw_metadata.c      |    2 +-
>  tools/testing/selftests/bpf/xdp_metadata.h         |    1 +
>  6 files changed, 20 insertions(+), 12 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c b/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
> index aa4beae99f4f..8c5e98da9ae9 100644
> --- a/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
> +++ b/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
> @@ -273,6 +273,8 @@ static int verify_xsk_metadata(struct xsk *xsk)
>         if (!ASSERT_NEQ(meta->rx_hash, 0, "rx_hash"))
>                 return -1;
>
> +       ASSERT_EQ(meta->rx_hash_type, 0, "rx_hash_type");
> +
>         xsk_ring_cons__release(&xsk->rx, 1);
>         refill_rx(xsk, comp_addr);
>
> diff --git a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> index 4c55b4d79d3d..7b3fc12e96d6 100644
> --- a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> +++ b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
> @@ -14,8 +14,8 @@ struct {
>
>  extern int bpf_xdp_metadata_rx_timestamp(const struct xdp_md *ctx,
>                                          __u64 *timestamp) __ksym;
> -extern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx,
> -                                   __u32 *hash) __ksym;
> +extern int bpf_xdp_metadata_rx_hash(const struct xdp_md *ctx, __u32 *hash,
> +                                   enum xdp_rss_hash_type *rss_type) __ksym;
>
>  SEC("xdp")
>  int rx(struct xdp_md *ctx)
> @@ -74,10 +74,14 @@ int rx(struct xdp_md *ctx)
>         else
>                 meta->rx_timestamp = 0; /* Used by AF_XDP as not avail signal */
>
> -       if (!bpf_xdp_metadata_rx_hash(ctx, &meta->rx_hash))
> -               bpf_printk("populated rx_hash with %u", meta->rx_hash);
> -       else
> +       if (!bpf_xdp_metadata_rx_hash(ctx, &meta->rx_hash, &meta->rx_hash_type)) {
> +               bpf_printk("populated rx_hash:0x%X type:0x%X",
> +                          meta->rx_hash, meta->rx_hash_type);
> +               if (!(meta->rx_hash_type & XDP_RSS_L4))
> +                       bpf_printk("rx_hash low quality L3 hash type");
> +       } else {
>                 meta->rx_hash = 0; /* Used by AF_XDP as not avail signal */
> +       }

Didn't we agree in the previous thread to remove these printks and
replace them with actual stats that user space can see?

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ