diff mbox series

watchdog/wdt-main: Use cpumask_of() to avoid cpumask var on stack

Message ID TYTP286MB3564B037A81DAAE1AC3A16F3CA062@TYTP286MB3564.JPNP286.PROD.OUTLOOK.COM (mailing list archive)
State New
Headers show
Series watchdog/wdt-main: Use cpumask_of() to avoid cpumask var on stack | expand

Commit Message

Dawei Li April 10, 2024, 1:13 p.m. UTC
In general it's preferable to avoid placing cpumasks on the stack, as
for large values of NR_CPUS these can consume significant amounts of
stack space and make stack overflows more likely.

Use cpumask_of() to avoid the need for a temporary cpumask on the stack

Signed-off-by: Dawei Li <set_pte_at@outlook.com>
---
 drivers/watchdog/octeon-wdt-main.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Guenter Roeck April 10, 2024, 2:48 p.m. UTC | #1
On Wed, Apr 10, 2024 at 09:13:59PM +0800, Dawei Li wrote:
> In general it's preferable to avoid placing cpumasks on the stack, as
> for large values of NR_CPUS these can consume significant amounts of
> stack space and make stack overflows more likely.
> 
> Use cpumask_of() to avoid the need for a temporary cpumask on the stack
> 
> Signed-off-by: Dawei Li <set_pte_at@outlook.com>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/octeon-wdt-main.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/drivers/watchdog/octeon-wdt-main.c b/drivers/watchdog/octeon-wdt-main.c
> index 0fe71f7e66d5..52d49e4e35a0 100644
> --- a/drivers/watchdog/octeon-wdt-main.c
> +++ b/drivers/watchdog/octeon-wdt-main.c
> @@ -381,11 +381,7 @@ static int octeon_wdt_cpu_online(unsigned int cpu)
>  
>  	/* Must set the irq affinity here */
>  	if (octeon_has_feature(OCTEON_FEATURE_CIU3)) {
> -		cpumask_t mask;
> -
> -		cpumask_clear(&mask);
> -		cpumask_set_cpu(cpu, &mask);
> -		irq_set_affinity(irq, &mask);
> +		irq_set_affinity(irq, cpumask_of(cpu));
>  	}
>  
>  	cpumask_set_cpu(cpu, &irq_enabled_cpus);
> -- 
> 2.25.1
>
diff mbox series

Patch

diff --git a/drivers/watchdog/octeon-wdt-main.c b/drivers/watchdog/octeon-wdt-main.c
index 0fe71f7e66d5..52d49e4e35a0 100644
--- a/drivers/watchdog/octeon-wdt-main.c
+++ b/drivers/watchdog/octeon-wdt-main.c
@@ -381,11 +381,7 @@  static int octeon_wdt_cpu_online(unsigned int cpu)
 
 	/* Must set the irq affinity here */
 	if (octeon_has_feature(OCTEON_FEATURE_CIU3)) {
-		cpumask_t mask;
-
-		cpumask_clear(&mask);
-		cpumask_set_cpu(cpu, &mask);
-		irq_set_affinity(irq, &mask);
+		irq_set_affinity(irq, cpumask_of(cpu));
 	}
 
 	cpumask_set_cpu(cpu, &irq_enabled_cpus);