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 <eduma...@google.com>
> Reported-by: Maciej Żenczykowski <m...@google.com>
> Cc: Alex Belits <abel...@marvell.com>
> Cc: Nitesh Narayan Lal <nit...@redhat.com>
> Cc: Peter Zijlstra (Intel) <pet...@infradead.org>
> ---
>  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 <nit...@redhat.com>

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to