2008-01-15 03:22:23

by Stephen Hemminger

[permalink] [raw]
Subject: [PATCH] kprobe: missing cast

Fix warning from missing cast, maybe a result of the x86 merge?

Signed-off-by: Stephen Hemminger <[email protected]>

CC arch/x86/kernel/kprobes_32.o
arch/x86/kernel/kprobes_32.c: In function ‘longjmp_break_handler’:
arch/x86/kernel/kprobes_32.c:729: warning: comparison of distinct pointer types lacks a cast

--- a/arch/x86/kernel/kprobes_32.c 2008-01-14 19:18:01.000000000 -0800
+++ b/arch/x86/kernel/kprobes_32.c 2008-01-14 19:18:08.000000000 -0800
@@ -726,7 +726,7 @@ int __kprobes longjmp_break_handler(stru
struct jprobe *jp = container_of(p, struct jprobe, kp);

if ((addr > (u8 *) jprobe_return) && (addr < (u8 *) jprobe_return_end)) {
- if (&regs->esp != kcb->jprobe_saved_esp) {
+ if ((unsigned long *) &regs->esp != kcb->jprobe_saved_esp) {
struct pt_regs *saved_regs = &kcb->jprobe_saved_regs;
printk("current esp %p does not match saved esp %p\n",
&regs->esp, kcb->jprobe_saved_esp);


Subject: Re: [PATCH] kprobe: missing cast

On Mon, Jan 14, 2008 at 07:21:55PM -0800, Stephen Hemminger wrote:
> Fix warning from missing cast, maybe a result of the x86 merge?
>
> Signed-off-by: Stephen Hemminger <[email protected]>

Acked-by: Ananth N Mavinakayanahalli <[email protected]>

Thanks Stephen!

Ananth

>
> CC arch/x86/kernel/kprobes_32.o
> arch/x86/kernel/kprobes_32.c: In function ‘longjmp_break_handler’:
> arch/x86/kernel/kprobes_32.c:729: warning: comparison of distinct pointer types lacks a cast
>
> --- a/arch/x86/kernel/kprobes_32.c 2008-01-14 19:18:01.000000000 -0800
> +++ b/arch/x86/kernel/kprobes_32.c 2008-01-14 19:18:08.000000000 -0800
> @@ -726,7 +726,7 @@ int __kprobes longjmp_break_handler(stru
> struct jprobe *jp = container_of(p, struct jprobe, kp);
>
> if ((addr > (u8 *) jprobe_return) && (addr < (u8 *) jprobe_return_end)) {
> - if (&regs->esp != kcb->jprobe_saved_esp) {
> + if ((unsigned long *) &regs->esp != kcb->jprobe_saved_esp) {
> struct pt_regs *saved_regs = &kcb->jprobe_saved_regs;
> printk("current esp %p does not match saved esp %p\n",
> &regs->esp, kcb->jprobe_saved_esp);

2008-01-16 04:58:21

by Harvey Harrison

[permalink] [raw]
Subject: Re: [PATCH] kprobe: missing cast

On Wed, 2008-01-16 at 10:22 +0530, Ananth N Mavinakayanahalli wrote:
> On Mon, Jan 14, 2008 at 07:21:55PM -0800, Stephen Hemminger wrote:
> > Fix warning from missing cast, maybe a result of the x86 merge?
> >
> > Signed-off-by: Stephen Hemminger <[email protected]>
>
> Acked-by: Ananth N Mavinakayanahalli <[email protected]>
>
> Thanks Stephen!
>

kprobes_32|64.c have already been merged to kprobes.c in the x86.git
tree. A stack_addr() helper was added to deal with the differences
here between 32 and 64 bit.

I'm pretty sure the x86 kprobes unification is headed for 2.6.25, so
it will get fixed.

Harvey