Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56151e75 authored by Wufei's avatar Wufei Committed by Jason Wessel
Browse files

kgdb: don't needlessly skip PAGE_USER test for Fsl booke



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: default avatarWufei <fei.wu@windriver.com>
Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
parent 79dba2ea
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -155,15 +155,10 @@ static void settlbcam(int index, unsigned long virt, phys_addr_t phys,
	if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS)
	if (cur_cpu_spec->cpu_features & MMU_FTR_BIG_PHYS)
		TLBCAM[index].MAS7 = (u64)phys >> 32;
		TLBCAM[index].MAS7 = (u64)phys >> 32;


#ifndef CONFIG_KGDB /* want user access for breakpoints */
	if (flags & _PAGE_USER) {
	if (flags & _PAGE_USER) {
	   TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR;
	   TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR;
	   TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0);
	   TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0);
	}
	}
#else
	TLBCAM[index].MAS3 |= MAS3_UX | MAS3_UR;
	TLBCAM[index].MAS3 |= ((flags & _PAGE_RW) ? MAS3_UW : 0);
#endif


	tlbcam_addrs[index].start = virt;
	tlbcam_addrs[index].start = virt;
	tlbcam_addrs[index].limit = virt + size - 1;
	tlbcam_addrs[index].limit = virt + size - 1;