summaryrefslogtreecommitdiff
path: root/arch/powerpc/mm
diff options
context:
space:
mode:
authorLi Yang <leoli@freescale.com>2010-05-07 08:38:34 (GMT)
committerKumar Gala <galak@kernel.crashing.org>2010-05-17 15:56:16 (GMT)
commit78e2e68a2b79f394b7cd61e07987a8a89af907f7 (patch)
tree41b534f2e557503a1d78f01d852e5eb8cb61b95a /arch/powerpc/mm
parent4c5ddd52695f7bac6362ad13fd3dc878212d1368 (diff)
downloadlinux-fsl-qoriq-78e2e68a2b79f394b7cd61e07987a8a89af907f7.tar.xz
powerpc/fsl-booke: Fix InstructionTLBError execute permission check
In CONFIG_PTE_64BIT the PTE format has unique permission bits for user and supervisor execute. However on !CONFIG_PTE_64BIT we overload the supervisor bit to imply user execute with _PAGE_USER set. This allows us to use the same permission check mask for user or supervisor code on !CONFIG_PTE_64BIT. However, on CONFIG_PTE_64BIT we map _PAGE_EXEC to _PAGE_BAP_UX so we need a different permission mask based on the fault coming from a kernel address or user space. Without unique permission masks we see issues like the following with modules: Unable to handle kernel paging request for instruction fetch Faulting instruction address: 0xf938d040 Oops: Kernel access of bad area, sig: 11 [#1] Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Jin Qing <b24347@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/mm')
0 files changed, 0 insertions, 0 deletions