diff options
author | Wufei <fei.wu@windriver.com> | 2010-04-28 17:42:32 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-12 18:02:51 -0400 |
commit | 4c001c0bb68a1672bd85f08f44a3901a5e0382a7 (patch) | |
tree | f423524ec6fc7412ec8fc1716ba135639be03fc5 | |
parent | 6d63e6f4f17a6cdb8f52fb4179820b6b96cab528 (diff) |
kgdb: don't needlessly skip PAGE_USER test for Fsl booke
commit 56151e753468e34aeb322af4b0309ab727c97d2e upstream.
The bypassing of this test is a leftover from 2.4 vintage
kernels, and is no longer appropriate, or even used by KGDB.
Currently KGDB uses probe_kernel_write() for all access to
memory via the KGDB core, so it can simply be deleted.
This fixes CVE-2010-1446.
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Paul Mackerras <paulus@samba.org>
CC: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Wufei <fei.wu@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | arch/powerpc/mm/fsl_booke_mmu.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c index c5394728bf2e..1ce9dd51a2f6 100644 --- a/arch/powerpc/mm/fsl_booke_mmu.c +++ b/arch/powerpc/mm/fsl_booke_mmu.c | |||
@@ -155,15 +155,10 @@ static void settlbcam(int index, unsigned long virt, phys_addr_t phys, | |||
155 | if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS) | 155 | if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS) |
156 | TLBCAM[index].MAS7 = (u64)phys >> 32; | 156 | TLBCAM[index].MAS7 = (u64)phys >> 32; |
157 | 157 | ||
158 | #ifndef CONFIG_KGDB /* want user access for breakpoints */ | ||
159 | if (flags & _PAGE_USER) { | 158 | if (flags & _PAGE_USER) { |
160 | TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; | 159 | TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; |
161 | TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); | 160 | TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); |
162 | } | 161 | } |
163 | #else | ||
164 | TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR; | ||
165 | TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0); | ||
166 | #endif | ||
167 | 162 | ||
168 | tlbcam_addrs[index].start = virt; | 163 | tlbcam_addrs[index].start = virt; |
169 | tlbcam_addrs[index].limit = virt + size - 1; | 164 | tlbcam_addrs[index].limit = virt + size - 1; |