Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
kprobes.c File Reference
#include <linux/kernel.h>
#include <linux/kprobes.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/stop_machine.h>
#include <linux/stringify.h>
#include <asm/traps.h>
#include <asm/cacheflush.h>
#include "kprobes.h"
#include "patch.h"

Go to the source code of this file.

Macros

#define MIN_STACK_SIZE(addr)
 
#define flush_insns(addr, size)
 
#define JPROBE_MAGIC_ADDR   0xffffffff
 

Functions

 DEFINE_PER_CPU (struct kprobe *, current_kprobe)
 
 DEFINE_PER_CPU (struct kprobe_ctlblk, kprobe_ctlblk)
 
int __kprobes arch_prepare_kprobe (struct kprobe *p)
 
void __kprobes arch_arm_kprobe (struct kprobe *p)
 
int __kprobes __arch_disarm_kprobe (void *p)
 
void __kprobes arch_disarm_kprobe (struct kprobe *p)
 
void __kprobes arch_remove_kprobe (struct kprobe *p)
 
void __kprobes kprobe_handler (struct pt_regs *regs)
 
int __kprobes kprobe_fault_handler (struct pt_regs *regs, unsigned int fsr)
 
int __kprobes kprobe_exceptions_notify (struct notifier_block *self, unsigned long val, void *data)
 
void __naked __kprobes kretprobe_trampoline (void)
 
void __kprobes arch_prepare_kretprobe (struct kretprobe_instance *ri, struct pt_regs *regs)
 
int __kprobes setjmp_pre_handler (struct kprobe *p, struct pt_regs *regs)
 
void __kprobes jprobe_return (void)
 
int __kprobes longjmp_break_handler (struct kprobe *p, struct pt_regs *regs)
 
int __kprobes arch_trampoline_kprobe (struct kprobe *p)
 
int __init arch_init_kprobes ()
 

Macro Definition Documentation

#define flush_insns (   addr,
  size 
)
Value:
flush_icache_range((unsigned long)(addr), \
(unsigned long)(addr) + \
(size))

Definition at line 38 of file kprobes.c.

#define JPROBE_MAGIC_ADDR   0xffffffff

Definition at line 44 of file kprobes.c.

#define MIN_STACK_SIZE (   addr)
Value:
min((unsigned long)MAX_STACK_SIZE, \
(unsigned long)current_thread_info() + THREAD_START_SP - (addr))

Definition at line 34 of file kprobes.c.

Function Documentation

int __kprobes __arch_disarm_kprobe ( void p)

Definition at line 143 of file kprobes.c.

void __kprobes arch_arm_kprobe ( struct kprobe p)

Definition at line 107 of file kprobes.c.

void __kprobes arch_disarm_kprobe ( struct kprobe p)

Definition at line 153 of file kprobes.c.

int __init arch_init_kprobes ( void  )

Definition at line 608 of file kprobes.c.

int __kprobes arch_prepare_kprobe ( struct kprobe p)

Definition at line 50 of file kprobes.c.

void __kprobes arch_prepare_kretprobe ( struct kretprobe_instance ri,
struct pt_regs regs 
)

Definition at line 453 of file kprobes.c.

void __kprobes arch_remove_kprobe ( struct kprobe p)

Definition at line 158 of file kprobes.c.

int __kprobes arch_trampoline_kprobe ( struct kprobe p)

Definition at line 573 of file kprobes.c.

DEFINE_PER_CPU ( struct kprobe ,
current_kprobe   
)
DEFINE_PER_CPU ( struct kprobe_ctlblk  ,
kprobe_ctlblk   
)
void __kprobes jprobe_return ( void  )

Definition at line 487 of file kprobes.c.

int __kprobes kprobe_exceptions_notify ( struct notifier_block self,
unsigned long  val,
void data 
)

Definition at line 359 of file kprobes.c.

int __kprobes kprobe_fault_handler ( struct pt_regs regs,
unsigned int  fsr 
)

Definition at line 309 of file kprobes.c.

void __kprobes kprobe_handler ( struct pt_regs regs)

Definition at line 210 of file kprobes.c.

void __naked __kprobes kretprobe_trampoline ( void  )

Definition at line 377 of file kprobes.c.

int __kprobes longjmp_break_handler ( struct kprobe p,
struct pt_regs regs 
)

Definition at line 545 of file kprobes.c.

int __kprobes setjmp_pre_handler ( struct kprobe p,
struct pt_regs regs 
)

Definition at line 462 of file kprobes.c.