diff options
author | 2016-06-06 10:30:45 +0200 | |
---|---|---|
committer | 2016-06-13 15:58:21 +0200 | |
commit | a9809407f6b6b4b55df7b6cf5522e39476b7e5e6 (patch) | |
tree | 77fbe1921cbe1b71978b47d6eaf2742d1f46c73d /tools/perf/scripts/python/export-to-postgresql.py | |
parent | s390/time: remove ETR support (diff) | |
download | wireguard-linux-a9809407f6b6b4b55df7b6cf5522e39476b7e5e6.tar.xz wireguard-linux-a9809407f6b6b4b55df7b6cf5522e39476b7e5e6.zip |
s390/mm: fix vunmap vs finish_arch_post_lock_switch
The vunmap_pte_range() function calls ptep_get_and_clear() without any
locking. ptep_get_and_clear() uses ptep_xchg_lazy()/ptep_flush_direct()
for the page table update. ptep_flush_direct requires that preemption
is disabled, but without any locking this is not the case. If the kernel
preempts the task while the attach_counter is increased an endless loop
in finish_arch_post_lock_switch() will occur the next time the task is
scheduled.
Add explicit preempt_disable()/preempt_enable() calls to the relevant
functions in arch/s390/mm/pgtable.c.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions