Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
kprobes-opt.c File Reference
#include <linux/kprobes.h>
#include <linux/ptrace.h>
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/hardirq.h>
#include <linux/preempt.h>
#include <linux/module.h>
#include <linux/kdebug.h>
#include <linux/kallsyms.h>
#include <linux/ftrace.h>
#include <asm/cacheflush.h>
#include <asm/desc.h>
#include <asm/pgtable.h>
#include <asm/uaccess.h>
#include <asm/alternative.h>
#include <asm/insn.h>
#include <asm/debugreg.h>
#include "kprobes-common.h"

Go to the source code of this file.

Data Structures

struct  jump_poke_buffer
 

Macros

#define TMPL_MOVE_IDX   ((long)&optprobe_template_val - (long)&optprobe_template_entry)
 
#define TMPL_CALL_IDX   ((long)&optprobe_template_call - (long)&optprobe_template_entry)
 
#define TMPL_END_IDX   ((long)&optprobe_template_end - (long)&optprobe_template_entry)
 
#define INT3_SIZE   sizeof(kprobe_opcode_t)
 
#define MAX_OPTIMIZE_PROBES   256
 

Functions

unsigned long __recover_optprobed_insn (kprobe_opcode_t *buf, unsigned long addr)
 
int __kprobes arch_check_optimized_kprobe (struct optimized_kprobe *op)
 
int __kprobes arch_within_optimized_kprobe (struct optimized_kprobe *op, unsigned long addr)
 
void __kprobes arch_remove_optimized_kprobe (struct optimized_kprobe *op)
 
int __kprobes arch_prepare_optimized_kprobe (struct optimized_kprobe *op)
 
void __kprobes arch_optimize_kprobes (struct list_head *oplist)
 
void arch_unoptimize_kprobes (struct list_head *oplist, struct list_head *done_list)
 
void __kprobes arch_unoptimize_kprobe (struct optimized_kprobe *op)
 
int __kprobes setup_detour_execution (struct kprobe *p, struct pt_regs *regs, int reenter)
 
int __kprobes arch_init_optprobes (void)
 

Macro Definition Documentation

#define INT3_SIZE   sizeof(kprobe_opcode_t)

Definition at line 141 of file kprobes-opt.c.

#define MAX_OPTIMIZE_PROBES   256

Definition at line 374 of file kprobes-opt.c.

#define TMPL_CALL_IDX   ((long)&optprobe_template_call - (long)&optprobe_template_entry)

Definition at line 136 of file kprobes-opt.c.

#define TMPL_END_IDX   ((long)&optprobe_template_end - (long)&optprobe_template_entry)

Definition at line 138 of file kprobes-opt.c.

#define TMPL_MOVE_IDX   ((long)&optprobe_template_val - (long)&optprobe_template_entry)

Definition at line 134 of file kprobes-opt.c.

Function Documentation

unsigned long __recover_optprobed_insn ( kprobe_opcode_t buf,
unsigned long  addr 
)

Definition at line 42 of file kprobes-opt.c.

int __kprobes arch_check_optimized_kprobe ( struct optimized_kprobe *  op)

Definition at line 281 of file kprobes-opt.c.

int __kprobes arch_init_optprobes ( void  )

Definition at line 495 of file kprobes-opt.c.

void __kprobes arch_optimize_kprobes ( struct list_head oplist)

Definition at line 403 of file kprobes-opt.c.

int __kprobes arch_prepare_optimized_kprobe ( struct optimized_kprobe *  op)

Definition at line 324 of file kprobes-opt.c.

void __kprobes arch_remove_optimized_kprobe ( struct optimized_kprobe *  op)

Definition at line 314 of file kprobes-opt.c.

void __kprobes arch_unoptimize_kprobe ( struct optimized_kprobe *  op)

Definition at line 467 of file kprobes-opt.c.

void arch_unoptimize_kprobes ( struct list_head oplist,
struct list_head done_list 
)

Definition at line 443 of file kprobes-opt.c.

int __kprobes arch_within_optimized_kprobe ( struct optimized_kprobe *  op,
unsigned long  addr 
)

Definition at line 297 of file kprobes-opt.c.

int __kprobes setup_detour_execution ( struct kprobe p,
struct pt_regs regs,
int  reenter 
)

Definition at line 478 of file kprobes-opt.c.