]> git.baikalelectronics.ru Git - kernel.git/commit
parisc: disable preemption during local tlb flush
authorSven Schnelle <svens@stackframe.org>
Sat, 9 Oct 2021 18:24:35 +0000 (20:24 +0200)
committerHelge Deller <deller@gmx.de>
Sat, 30 Oct 2021 21:11:00 +0000 (23:11 +0200)
commit51e2f93db2f4267e9b0e927803a62dc01b402e16
treeaef97699b7a8c69d71cb9e3d0aab6777ce2f39b1
parentc5311b7b2db8ad790d5f425a27f2b4b99eed0b6d
parisc: disable preemption during local tlb flush

flush_cache_mm() and flush_cache_range() fetch %sr3 via mfsp().
If it matches mm->context, they flush caches and the TLB. However,
the TLB is cpu-local, so if the code gets preempted shortly after
the mfsp(), and later resumed on another CPU, the wrong TLB is flushed.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/kernel/cache.c