arm64: fix erroneous warnings in page freeing functions
authorMark Rutland <mark.rutland@arm.com>
Wed, 5 Sep 2018 16:38:57 +0000 (17:38 +0100)
committerWill Deacon <will.deacon@arm.com>
Thu, 6 Sep 2018 17:01:13 +0000 (18:01 +0100)
commitfac880c7d074fdfca874114b5c47b36aa034e4ee
tree6124d50861d475863156199d14fe89d00fba0b6f
parent57361846b52bc686112da6ca5368d11210796804
arm64: fix erroneous warnings in page freeing functions

In pmd_free_pte_page() and pud_free_pmd_page() we try to warn if they
hit a present non-table entry. In both cases we'll warn for non-present
entries, as the VM_WARN_ON() only checks the entry is not a table entry.

This has been observed to result in warnings when booting a v4.19-rc2
kernel under qemu.

Fix this by bailing out earlier for non-present entries.

Fixes: ec28bb9c9b0826d7 ("arm64: Implement page table free interfaces")
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/mm/mmu.c