seL4/include/smp
Indan Zupancic 81679f2b95 SMP: Fix IPI Race
Use atomic operations to get and set the IPI pending flag to
ensure that if an IPI is observed, the IPI arguments are also
observed.

Using atomics makes this requirement explicit to the compiler.

Without this change there is a race between setting up an IPI
and another core checking for ipi == 1. This can happen before
IPI_MEM_BARRIER has been executed.

Found by Yanyan Shen.

Signed-off-by: Indan Zupancic <indan@nul.nu>
2025-02-27 09:29:48 +11:00
..
ipi.h SMP: Avoid undefined CAS delays in kernel lock 2025-02-27 09:29:48 +11:00
lock.h SMP: Fix IPI Race 2025-02-27 09:29:48 +11:00