Re: [PATCH net-next v2 01/13] net: mana: add queue-set allocation and teardown helpers

[email protected] Fri, 14 Aug 2026 05:05:18 +0000
Newsgroups org.kernel.vger.linux-hyperv
Message-ID <[email protected]>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] User-configured RSS indirection table is silently discarded and reset to defaults during per-queue reconfigurations.
--

--- Patch [1]: [PATCH net-next v2 01/13] net: mana: add queue-set allocation and teardown helpers ---
commit fcc6a74602d4e66dc287809434c5e9b44c3be829
Author: Long Li <[email protected]>
Subject: net: mana: add queue-set allocation and teardown helpers

The ethtool reconfiguration paths (channel count, ring size, private
flags), mana_change_mtu() and mana_xdp_set() rebuild the queues with
mana_detach() then mana_attach(). This adds the data model and helpers for
pre-allocate and swap to independently build and tear down a queue set.

> diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c
> --- a/drivers/net/ethernet/microsoft/mana/mana_en.c
> +++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
[ ... ]
> +int mana_alloc_qset(struct mana_port_context *scratch, unsigned int num_queues,
> +		    unsigned int rx_queue_size, unsigned int tx_queue_size,
> +		    u32 priv_flags, struct mana_qset *out)
> +{
> +	struct net_device *ndev = scratch->ndev;
> +	int err;
[ ... ]
> +	err = mana_rss_table_alloc(scratch);
> +	if (err)
> +		goto cleanup_rxq_array;
> +
> +	err = mana_create_eq(scratch);
> +	if (err)
> +		goto cleanup_rss;
> +
> +	err = mana_create_txq(scratch, ndev);
> +	if (err)
> +		goto cleanup_eq;
> +
> +	err = mana_add_rx_queues(scratch, ndev);
> +	if (err)
> +		goto cleanup_rxq;
> +
> +	mana_rss_table_init(scratch);

[Severity: Medium]
Will this unconditionally reset the RSS indirection table to defaults during
reconfigurations?

Since mana_rss_table_alloc() creates a new table and mana_rss_table_init()
initializes it to default round-robin values, it seems like a user's existing
custom RSS steering configuration might be silently overwritten when the new
queue set is published.

Could this cause a regression where the custom configuration is lost? Should
it be preserved by copying the existing table from the active port context
instead?

> +
> +	mana_qset_snapshot(scratch, out);
> +	return 0;

-- 
Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=1