aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/gdb/vmlinux-gdb.py
diff options
context:
space:
mode:
authorManfred Spraul <[email protected]>2022-12-16 15:04:40 +0000
committerAndrew Morton <[email protected]>2023-02-03 06:50:01 +0000
commit88ad32a799ddc92eafd2ae204cb43f04ac20a05c (patch)
treea4797d1b353073c535eba0f4c05e1cb758ed7337 /scripts/gdb/vmlinux-gdb.py
parentlib/percpu_counter: percpu_counter_add_batch() overflow/underflow (diff)
downloadkernel-88ad32a799ddc92eafd2ae204cb43f04ac20a05c.tar.gz
kernel-88ad32a799ddc92eafd2ae204cb43f04ac20a05c.zip
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/vmlinux-gdb.py')
0 files changed, 0 insertions, 0 deletions