powerpc/mm/mce: Keep irqs disabled during lockless page table walk
authorAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Wed, 18 Sep 2019 14:53:28 +0000 (20:23 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:51:14 +0000 (14:51 +0100)
commit90de8a2f70a3f2f5c1fb75829d8c297246f61ffd
tree5b2ef15f39240bd18dd9dc5ca033432961d6a3c9
parent12ed084d51056373d1dd1f3acd69e10150c708fa
powerpc/mm/mce: Keep irqs disabled during lockless page table walk

[ Upstream commit d9101bfa6adc831bda8836c4d774820553c14942 ]

__find_linux_mm_pte() returns a page table entry pointer after walking
the page table without holding locks. To make it safe against a THP
split and/or collapse, we disable interrupts around the lockless page
table walk. However we need to keep interrupts disabled as long as we
use the page table entry pointer that is returned.

Fix addr_to_pfn() to do that.

Fixes: ba41e1e1ccb9 ("powerpc/mce: Hookup derror (load/store) UE errors")
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
[mpe: Rearrange code slightly and tweak change log wording]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20190918145328.28602-1-aneesh.kumar@linux.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/kernel/mce_power.c