Re: [PATCH net-next] net: hv_netvsc: reject RSS hash key programming without RX indirection table
From: Dipayaan Roy <hidden>
Date: 2026-01-12 13:09:08
Also in:
linux-hyperv, lkml
From: Dipayaan Roy <hidden>
Date: 2026-01-12 13:09:08
Also in:
linux-hyperv, lkml
On Mon, Jan 12, 2026 at 02:01:33AM -0800, Aditya Garg wrote:
RSS configuration requires a valid RX indirection table. When the device reports a single receive queue, rndis_filter_device_add() does not allocate an indirection table, accepting RSS hash key updates in this state leads to a hang. Fix this by gating netvsc_set_rxfh() on ndc->rx_table_sz and return -EOPNOTSUPP when the table is absent. This aligns set_rxfh with the device capabilities and prevents incorrect behavior. Fixes: 962f3fee83a4 ("netvsc: add ethtool ops to get/set RSS key") Signed-off-by: Aditya Garg <redacted> Reviewed-by: Dipayaan Roy <redacted> --- drivers/net/hyperv/netvsc_drv.c | 3 +++ 1 file changed, 3 insertions(+)diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index 3d47d749ef9f..cbd52cb79268 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c@@ -1750,6 +1750,9 @@ static int netvsc_set_rxfh(struct net_device *dev, rxfh->hfunc != ETH_RSS_HASH_TOP) return -EOPNOTSUPP; + if (!ndc->rx_table_sz) + return -EOPNOTSUPP; + rndis_dev = ndev->extension; if (rxfh->indir) { for (i = 0; i < ndc->rx_table_sz; i++)-- 2.43.0
LGTM. Reviewed-by: Dipayaan Roy <redacted>