diff options
author | Manfred Spraul <[email protected]> | 2022-12-16 16:04:40 +0100 |
---|---|---|
committer | Andrew Morton <[email protected]> | 2023-02-02 22:50:01 -0800 |
commit | 88ad32a799ddc92eafd2ae204cb43f04ac20a05c (patch) | |
tree | a4797d1b353073c535eba0f4c05e1cb758ed7337 /scripts/gdb/linux/modules.py | |
parent | 805afd8300998948d16bdba0358dcfeb202a70d5 (diff) |
include/linux/percpu_counter.h: race in uniprocessor percpu_counter_add()
The percpu interface is supposed to be preempt and irq safe.
But:
The uniprocessor implementation of percpu_counter_add() is not irq safe:
if an interrupt happens during the +=, then the result is undefined.
Therefore: switch from preempt_disable() to local_irq_save().
This prevents interrupts from interrupting the +=, and as a side effect
prevents preemption.
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Manfred Spraul <[email protected]>
Cc: "Sun, Jiebin" <[email protected]>
Cc: <[email protected]>
Cc: Alexander Sverdlin <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/modules.py')
0 files changed, 0 insertions, 0 deletions