Skip to content

Commit

Permalink
jprobes: remove JPROBE_ENTRY()
Browse files Browse the repository at this point in the history
AFAICT now that jprobe.entry is a void *, JPROBE_ENTRY doesn't do anything
useful - so remove it ..

I've left a do-nothing version so that out-of-tree jprobes code will still
compile without modifications.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Cc: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Michael Ellerman authored and Linus Torvalds committed Jul 19, 2007
1 parent 81eae37 commit 9e367d8
Show file tree
Hide file tree
Showing 10 changed files with 6 additions and 18 deletions.
8 changes: 1 addition & 7 deletions Documentation/kprobes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -247,12 +247,6 @@ control to Kprobes.) If the probed function is declared asmlinkage,
fastcall, or anything else that affects how args are passed, the
handler's declaration must match.

NOTE: A macro JPROBE_ENTRY is provided to handle architecture-specific
aliasing of jp->entry. In the interest of portability, it is advised
to use:

jp->entry = JPROBE_ENTRY(handler);

register_jprobe() returns 0 on success, or a negative errno otherwise.

4.3 register_kretprobe
Expand Down Expand Up @@ -518,7 +512,7 @@ long jdo_fork(unsigned long clone_flags, unsigned long stack_start,
}

static struct jprobe my_jprobe = {
.entry = JPROBE_ENTRY(jdo_fork)
.entry = jdo_fork
};

static int __init jprobe_init(void)
Expand Down
1 change: 0 additions & 1 deletion include/asm-i386/kprobes.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ typedef u8 kprobe_opcode_t;
? (MAX_STACK_SIZE) \
: (((unsigned long)current_thread_info()) + THREAD_SIZE - (ADDR)))

#define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)pentry
#define ARCH_SUPPORTS_KRETPROBES
#define ARCH_INACTIVE_KPROBE_COUNT 0
#define flush_insn_slot(p) do { } while (0)
Expand Down
2 changes: 0 additions & 2 deletions include/asm-ia64/kprobes.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,6 @@ struct kprobe_ctlblk {
struct prev_kprobe prev_kprobe[ARCH_PREV_KPROBE_SZ];
};

#define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)pentry

#define ARCH_SUPPORTS_KRETPROBES
#define ARCH_INACTIVE_KPROBE_COUNT 1

Expand Down
2 changes: 0 additions & 2 deletions include/asm-powerpc/kprobes.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,10 @@ typedef unsigned int kprobe_opcode_t;
} \
}

#define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)((func_descr_t *)pentry)
#define is_trap(instr) (IS_TW(instr) || IS_TD(instr) || \
IS_TWI(instr) || IS_TDI(instr))
#else
/* Use stock kprobe_lookup_name since ppc32 doesn't use function descriptors */
#define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)(pentry)
#define is_trap(instr) (IS_TW(instr) || IS_TWI(instr))
#endif

Expand Down
2 changes: 0 additions & 2 deletions include/asm-s390/kprobes.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,6 @@ typedef u16 kprobe_opcode_t;
? (MAX_STACK_SIZE) \
: (((unsigned long)current_thread_info()) + THREAD_SIZE - (ADDR)))

#define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)(pentry)

#define ARCH_SUPPORTS_KRETPROBES
#define ARCH_INACTIVE_KPROBE_COUNT 0

Expand Down
1 change: 0 additions & 1 deletion include/asm-sparc64/kprobes.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ typedef u32 kprobe_opcode_t;
#define BREAKPOINT_INSTRUCTION_2 0x91d02071 /* ta 0x71 */
#define MAX_INSN_SIZE 2

#define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)pentry
#define arch_remove_kprobe(p) do {} while (0)
#define ARCH_INACTIVE_KPROBE_COUNT 0

Expand Down
1 change: 0 additions & 1 deletion include/asm-x86_64/kprobes.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ typedef u8 kprobe_opcode_t;
? (MAX_STACK_SIZE) \
: (((unsigned long)current_thread_info()) + THREAD_SIZE - (ADDR)))

#define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)pentry
#define ARCH_SUPPORTS_KRETPROBES
#define ARCH_INACTIVE_KPROBE_COUNT 1

Expand Down
3 changes: 3 additions & 0 deletions include/linux/kprobes.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@ struct jprobe {
void *entry; /* probe handling code to jump to */
};

/* For backward compatibility with old code using JPROBE_ENTRY() */
#define JPROBE_ENTRY(handler) (handler)

DECLARE_PER_CPU(struct kprobe *, current_kprobe);
DECLARE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk);

Expand Down
2 changes: 1 addition & 1 deletion net/dccp/probe.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ static struct jprobe dccp_send_probe = {
.kp = {
.symbol_name = "dccp_sendmsg",
},
.entry = JPROBE_ENTRY(jdccp_sendmsg),
.entry = jdccp_sendmsg,
};

static int dccpprobe_open(struct inode *inode, struct file *file)
Expand Down
2 changes: 1 addition & 1 deletion net/ipv4/tcp_probe.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ static struct jprobe tcp_jprobe = {
.kp = {
.symbol_name = "tcp_rcv_established",
},
.entry = JPROBE_ENTRY(jtcp_rcv_established),
.entry = jtcp_rcv_established,
};

static int tcpprobe_open(struct inode * inode, struct file * file)
Expand Down

0 comments on commit 9e367d8

Please sign in to comment.