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] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALs4sv1osSgvgHysDTgR=d=6cLGNyn-ha0y9fh+=wUpOKR3m=Q@mail.gmail.com>
Date: Fri, 26 Jul 2024 11:45:30 +0530
From: Pavan Chebbi <pavan.chebbi@...adcom.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: davem@...emloft.net, netdev@...r.kernel.org, edumazet@...gle.com, 
	pabeni@...hat.com, michael.chan@...adcom.com, shuah@...nel.org, 
	ecree.xilinx@...il.com, przemyslaw.kitszel@...el.com, ahmed.zaki@...el.com, 
	andrew@...n.ch, willemb@...gle.com, petrm@...dia.com
Subject: Re: [PATCH net 2/5] eth: bnxt: populate defaults in the RSS context struct

On Fri, Jul 26, 2024 at 3:54 AM Jakub Kicinski <kuba@...nel.org> wrote:
>
> As described in the kdoc for .create_rxfh_context we are responsible
> for populating the defaults. The core will not call .get_rxfh
> for non-0 context.
>
> The problem can be easily observed since Netlink doesn't currently
> use the cache. Using netlink ethtool:
>
>   $ ethtool -x eth0 context 1
>   [...]
>   RSS hash key:
>   13:60:cd:60:14:d3:55:36:86:df:90:f2:96:14:e2:21:05:57:a8:8f:a5:12:5e:54:62:7f:fd:3c:15:7e:76:05:71:42:a2:9a:73:80:09:9c
>   RSS hash function:
>       toeplitz: on
>       xor: off
>       crc32: off
>
> But using IOCTL ethtool shows:
>
>   $ ./ethtool-old -x eth0 context 1
>   [...]
>   RSS hash key:
>   00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
>   RSS hash function:
>       Operation not supported
>
> Fixes: 7964e7884643 ("net: ethtool: use the tracking array for get_rxfh on custom RSS contexts")
> Signed-off-by: Jakub Kicinski <kuba@...nel.org>
> ---
>  drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
> index 0425a54eca98..ab8e3f197e7b 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
> @@ -1921,8 +1921,12 @@ static int bnxt_create_rxfh_context(struct net_device *dev,
>         if (rc)
>                 goto out;
>
> +       /* Populate defaults in the context */
>         bnxt_set_dflt_rss_indir_tbl(bp, ctx);
> +       ctx->hfunc = ETH_RSS_HASH_TOP;
>         memcpy(vnic->rss_hash_key, bp->rss_hash_key, HW_HASH_KEY_SIZE);
> +       memcpy(ethtool_rxfh_context_key(ctx),
> +              bp->rss_hash_key, HW_HASH_KEY_SIZE);
>
>         rc = bnxt_hwrm_vnic_alloc(bp, vnic, 0, bp->rx_nr_rings);
>         if (rc) {
> --
> 2.45.2
>
Reviewed-by: Pavan Chebbi <pavan.chebbi@...adcom.com>

Thank you.

Download attachment "smime.p7s" of type "application/pkcs7-signature" (4209 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ