arm64: mm: fix thinko in non-global page table attribute check
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 23 Feb 2018 18:04:48 +0000 (18:04 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 26 Feb 2018 14:27:14 +0000 (14:27 +0000)
commit753e8abc36b2c966caea075db0c845563c8a19bf
tree8a507c29bc0b2da625692d8e1bbe0f396be0c8a7
parent4a3928c6f8a53fa1aed28ccba227742486e8ddcb
arm64: mm: fix thinko in non-global page table attribute check

The routine pgattr_change_is_safe() was extended in commit 4e6020565596
("arm64: mm: Permit transitioning from Global to Non-Global without BBM")
to permit changing the nG attribute from not set to set, but did so in a
way that inadvertently disallows such changes if other permitted attribute
changes take place at the same time. So update the code to take this into
account.

Fixes: 4e6020565596 ("arm64: mm: Permit transitioning from Global to ...")
Cc: <stable@vger.kernel.org> # 4.14.x-
Acked-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/mm/mmu.c