On 8/11/20 9:34 PM, Eric Dumazet wrote:
> We must accept an empty mask in store_rps_map(), or we are not able
> to disable RPS on a queue.
>
> Fixes: 07bbecb34106 ("net: Restrict receive packets queuing to housekeeping
> CPUs")
> Signed-off-by: Eric Dumazet <[email protected]>
> Reported-by: Maciej Żenczykowski <[email protected]>
> Cc: Alex Belits <[email protected]>
> Cc: Nitesh Narayan Lal <[email protected]>
> Cc: Peter Zijlstra (Intel) <[email protected]>
> ---
> net/core/net-sysfs.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
> index
> 9de33b594ff2693c054022a42703c90084122444..efec66fa78b70b2fe5b0a5920317eb1d0415d9e3
> 100644
> --- a/net/core/net-sysfs.c
> +++ b/net/core/net-sysfs.c
> @@ -757,11 +757,13 @@ static ssize_t store_rps_map(struct netdev_rx_queue
> *queue,
> return err;
> }
>
> - hk_flags = HK_FLAG_DOMAIN | HK_FLAG_WQ;
> - cpumask_and(mask, mask, housekeeping_cpumask(hk_flags));
> - if (cpumask_empty(mask)) {
> - free_cpumask_var(mask);
> - return -EINVAL;
> + if (!cpumask_empty(mask)) {
> + hk_flags = HK_FLAG_DOMAIN | HK_FLAG_WQ;
> + cpumask_and(mask, mask, housekeeping_cpumask(hk_flags));
> + if (cpumask_empty(mask)) {
> + free_cpumask_var(mask);
> + return -EINVAL;
> + }
> }
>
> map = kzalloc(max_t(unsigned int,Ah! my bad. Thanks for the fix. Acked-by: Nitesh Narayan Lal <[email protected]>
signature.asc
Description: OpenPGP digital signature
