]> Git Repo - linux.git/commit
net: ethtool: Fix RSS setting
authorSaeed Mahameed <[email protected]>
Wed, 10 Jul 2024 22:55:38 +0000 (15:55 -0700)
committerJakub Kicinski <[email protected]>
Fri, 12 Jul 2024 00:21:08 +0000 (17:21 -0700)
commit503757c809281a24d50ac2538401d3b1302b301c
treed3f373270f4c3feea8f060722f06bfcfb7dce155
parent51df8e0cbaefd432f7029dde94e6c7e4e5b19465
net: ethtool: Fix RSS setting

When user submits a rxfh set command without touching XFRM_SYM_XOR,
rxfh.input_xfrm is set to RXH_XFRM_NO_CHANGE, which is equal to 0xff.

Testing if (rxfh.input_xfrm & RXH_XFRM_SYM_XOR &&
    !ops->cap_rss_sym_xor_supported)
return -EOPNOTSUPP;

Will always be true on devices that don't set cap_rss_sym_xor_supported,
since rxfh.input_xfrm & RXH_XFRM_SYM_XOR is always true, if input_xfrm
was not set, i.e RXH_XFRM_NO_CHANGE=0xff, which will result in failure
of any command that doesn't require any change of XFRM, e.g RSS context
or hash function changes.

To avoid this breakage, test if rxfh.input_xfrm != RXH_XFRM_NO_CHANGE
before testing other conditions. Note that the problem will only trigger
with XFRM-aware userspace, old ethtool CLI would continue to work.

Fixes: 0dd415d15505 ("net: ethtool: add a NO_CHANGE uAPI for new RXFH's input_xfrm")
Signed-off-by: Saeed Mahameed <[email protected]>
Reviewed-by: Ahmed Zaki <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
net/ethtool/ioctl.c
This page took 0.052593 seconds and 4 git commands to generate.