• M
    s390/mm: fix local TLB flushing vs. detach of an mm address space · b3e5dc45
    Martin Schwidefsky 提交于
    The local TLB flushing code keeps an additional mask in the mm.context,
    the cpu_attach_mask. At the time a global flush of an address space is
    done the cpu_attach_mask is copied to the mm_cpumask in order to avoid
    future global flushes in case the mm is used by a single CPU only after
    the flush.
    
    Trouble is that the reset of the mm_cpumask is racy against the detach
    of an mm address space by switch_mm. The current order is first the
    global TLB flush and then the copy of the cpu_attach_mask to the
    mm_cpumask. The order needs to be the other way around.
    
    Cc: <stable@vger.kernel.org>
    Reviewed-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
    b3e5dc45
mmu_context.h 3.9 KB