Skip to content

Commit

Permalink
[PATCH] ppc64 kprobes: correct kprobe registration return values
Browse files Browse the repository at this point in the history
Add stricter checks during kprobe registration.  Return correct error value so
insmod doesn't succeed.  Also printk reason for registration failure.

Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Ananth N Mavinakayanahalli authored and Linus Torvalds committed Jun 8, 2005
1 parent 42442ed commit 63224d1
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions arch/ppc64/kernel/kprobes.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,17 @@ static struct pt_regs jprobe_saved_regs;

int arch_prepare_kprobe(struct kprobe *p)
{
int ret = 0;
kprobe_opcode_t insn = *p->addr;

if (IS_MTMSRD(insn) || IS_RFID(insn))
/* cannot put bp on RFID/MTMSRD */
return 1;
return 0;
if ((unsigned long)p->addr & 0x03) {
printk("Attempt to register kprobe at an unaligned address\n");
ret = -EINVAL;
} else if (IS_MTMSRD(insn) || IS_RFID(insn)) {
printk("Cannot register a kprobe on rfid or mtmsrd\n");
ret = -EINVAL;
}
return ret;
}

void arch_copy_kprobe(struct kprobe *p)
Expand Down

0 comments on commit 63224d1

Please sign in to comment.