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

Commit 00ae36de authored by Anton Blanchard's avatar Anton Blanchard Committed by Paul Mackerras
Browse files

[POWERPC] Better check in show_instructions



Instead of just checking that an address is in the right range, use the
provided __kernel_text_address() helper which covers both the kernel and
module text sections.

Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 99f48610
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -341,13 +341,6 @@ struct task_struct *__switch_to(struct task_struct *prev,

static int instructions_to_print = 16;

#ifdef CONFIG_PPC64
#define BAD_PC(pc)	((REGION_ID(pc) != KERNEL_REGION_ID) && \
		         (REGION_ID(pc) != VMALLOC_REGION_ID))
#else
#define BAD_PC(pc)	((pc) < KERNELBASE)
#endif

static void show_instructions(struct pt_regs *regs)
{
	int i;
@@ -366,7 +359,8 @@ static void show_instructions(struct pt_regs *regs)
		 * bad address because the pc *should* only be a
		 * kernel address.
		 */
		if (BAD_PC(pc) || __get_user(instr, (unsigned int __user *)pc)) {
		if (!__kernel_text_address(pc) ||
		     __get_user(instr, (unsigned int __user *)pc)) {
			printk("XXXXXXXX ");
		} else {
			if (regs->nip == pc)