summaryrefslogtreecommitdiff
path: root/arch/arm/mm/pgd.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2013-11-28 21:43:40 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-11 22:36:26 -0800
commitd47787bdf7cd4dfccfaffdab00b5b593d6270a6a (patch)
tree5c740049f04406e6d091e0e35465e46bd6dee9cc /arch/arm/mm/pgd.c
parent1c651d3627a2d3ba10f2f116303ca620e17b14d5 (diff)
downloadlinux-3.10-d47787bdf7cd4dfccfaffdab00b5b593d6270a6a.tar.gz
linux-3.10-d47787bdf7cd4dfccfaffdab00b5b593d6270a6a.tar.bz2
linux-3.10-d47787bdf7cd4dfccfaffdab00b5b593d6270a6a.zip
ARM: fix booting low-vectors machines
commit d8aa712c30148ba26fd89a5dc14de95d4c375184 upstream. Commit f6f91b0d9fd9 (ARM: allow kuser helpers to be removed from the vector page) required two pages for the vectors code. Although the code setting up the initial page tables was updated, the code which allocates page tables for new processes wasn't, neither was the code which tears down the mappings. Fix this. Fixes: f6f91b0d9fd9 ("ARM: allow kuser helpers to be removed from the vector page") Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arm/mm/pgd.c')
-rw-r--r--arch/arm/mm/pgd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mm/pgd.c b/arch/arm/mm/pgd.c
index 0acb089d0f7..1046b373d1a 100644
--- a/arch/arm/mm/pgd.c
+++ b/arch/arm/mm/pgd.c
@@ -87,7 +87,8 @@ pgd_t *pgd_alloc(struct mm_struct *mm)
init_pud = pud_offset(init_pgd, 0);
init_pmd = pmd_offset(init_pud, 0);
init_pte = pte_offset_map(init_pmd, 0);
- set_pte_ext(new_pte, *init_pte, 0);
+ set_pte_ext(new_pte + 0, init_pte[0], 0);
+ set_pte_ext(new_pte + 1, init_pte[1], 0);
pte_unmap(init_pte);
pte_unmap(new_pte);
}