diff options
author | Richard Braun <rbraun@sceen.net> | 2017-01-10 00:06:26 +0100 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2017-01-10 00:06:26 +0100 |
commit | a683a140d378aeef19b303384e2cfd9fbafc7375 (patch) | |
tree | 58dbf72aae89aa220616ab7204ee34fe7c417a37 /arch/x86/machine/pmap.c | |
parent | 35e2775c9f05fbe1d5e938de2ecf3416ea149bb1 (diff) |
x86/pmap: actually allow removal on invalid mappings
Diffstat (limited to 'arch/x86/machine/pmap.c')
-rw-r--r-- | arch/x86/machine/pmap.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/machine/pmap.c b/arch/x86/machine/pmap.c index 52d9c60..baa25b6 100644 --- a/arch/x86/machine/pmap.c +++ b/arch/x86/machine/pmap.c @@ -1251,6 +1251,10 @@ pmap_remove_local_single(struct pmap *pmap, unsigned long va) pt_level = &pmap_pt_levels[level]; pte = &ptp[pmap_pte_index(va, pt_level)]; + if (!pmap_pte_valid(*pte)) { + return; + } + if (level == 0) { break; } |