diff options
Diffstat (limited to 'net/core/net-sysfs.c')
| -rw-r--r-- | net/core/net-sysfs.c | 12 | 
1 files changed, 7 insertions, 5 deletions
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index 9de33b594ff2..efec66fa78b7 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,  |