convert from svn repository: remove tags directory
[lttv.git] / trunk / tests / kernel / genkprobe.c
CommitLineData
2200bbb0 1#include <linux/module.h>
2#include <linux/kernel.h>
3#include <linux/init.h>
4#include <linux/kprobes.h>
5
6MODULE_LICENSE("GPL");
7
8static int kph(struct kprobe *kp, struct pt_regs *regs)
9{
10 return 0;
11}
12static int kpfh(struct kprobe *kp, struct pt_regs *regs, int nr)
13{
14 printk("fault occurred on kprobes at %p(@%lx:%d)\n", kp->addr, regs->ip, nr);
15 return 0;
16}
17static struct kprobe kp[] = {
18[0]={.pre_handler=kph, .fault_handler=kpfh, .symbol_name="sys_accept"},
19[1]={.pre_handler=kph, .fault_handler=kpfh, .symbol_name="sys_access"},
20[2]={.pre_handler=kph, .fault_handler=kpfh, .symbol_name="sys_acct"},
21[3]={.pre_handler=kph, .fault_handler=kpfh, .symbol_name="sys_add_key"},
22[4]={.pre_handler=kph, .fault_handler=kpfh, .symbol_name="sys_adjtimex"},
23[5]={.pre_handler=kph, .fault_handler=kpfh, .symbol_name="sys_alarm"},
24[6]={.pre_handler=kph, .fault_handler=kpfh, .symbol_name="sys_bdflush"},
25};
26#define NRPB 7
27
28static struct kprobe *kps[NRPB];
29
30int __gen_init(void)
31{
32 int ret, i;
33 for (i=0;i<NRPB;i++)
34 kps[i]=&kp[i];
35 printk("registering...");
36 ret = register_kprobes(kps, NRPB);
37 if (ret) {
38 printk("failed to register kprobes\n");
39 return ret;
40 }
41 printk("registered\n");
42 return 0;
43}
44
45void __gen_exit(void)
46{
47 printk("unregistering...");
48 unregister_kprobes(kps, NRPB);
49 printk("unregistered\n");
50}
51
52module_init(__gen_init);
53module_exit(__gen_exit);
This page took 0.023653 seconds and 4 git commands to generate.