riscv: switch set_icache_stale_mask() to using non-atomic assign_cpu()

The atomic cpumask_assign_cpu() follows non-atomic cpumask_setall(),
which makes the whole operation non-atomic. Fix this by relaxing to
non-atomic __assign_cpu().

Fixes: 7c1e5b9690 ("riscv: Disable preemption while handling PR_RISCV_CTX_SW_FENCEI_OFF")
Signed-off-by: Yury Norov [NVIDIA] <yury.norov@gmail.com>
This commit is contained in:
Yury Norov 2025-03-12 22:19:51 -04:00
parent 4923c2c5b6
commit e5bf9a4b68

View File

@ -172,7 +172,7 @@ static void set_icache_stale_mask(void)
stale_cpu = cpumask_test_cpu(cpu, mask);
cpumask_setall(mask);
cpumask_assign_cpu(cpu, mask, stale_cpu);
__assign_cpu(cpu, mask, stale_cpu);
put_cpu();
}
#endif