mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 17:11:33 +00:00
[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: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
99f4861025
commit
00ae36de49
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user