Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1 #include <linux/module.h>
- 2 #include <linux/kernel.h>
- 3 #include <linux/init.h>
- 4 #include <linux/skbuff.h>
- 5 #include <trace/events/net.h>
- 6
- 7 static void probe(void *ignore, struct sk_buff *skb)
- 8 {
- 9 printk(KERN_INFO "probe, protocol[0X%04X]n", ntohs(skb->protocol));
- 10 }
- 11
- 12 static int __init init_tracepoint(void)
- 13 {
- 14 if (0 != register_trace_netif_receive_skb(probe, NULL))
- 15 {
- 16 printk(KERN_INFO "tracepoint init failsn");
- 17 }
- 18
- 19 printk(KERN_INFO "tracepoint init succeedsn");
- 20 return 0;
- 21 }
- 22
- 23 static void __exit cleanup_tracepoint(void)
- 24 {
- 25 unregister_trace_netif_receive_skb(probe, NULL);
- 26 tracepoint_synchronize_unregister();
- 27
- 28 printk(KERN_INFO "tracepoint exitn");
- 29 }
- 30
- 31 module_init(init_tracepoint);
- 32 module_exit(cleanup_tracepoint);
- 33
- 34 MODULE_LICENSE("GPL");
- suse11-1:~/works/tracepoint # make
- make -C /lib/modules/3.0.76-0.11-default/build M=/root/works/tracepoint modules
- make[1]: Entering directory `/usr/src/linux-3.0.76-0.11-obj/x86_64/default'
- make -C ../../../linux-3.0.76-0.11 O=/usr/src/linux-3.0.76-0.11-obj/x86_64/default/. modules
- CC [M] /root/works/tracepoint/tracepoint.o
- Building modules, stage 2.
- MODPOST 1 modules
- CC /root/works/tracepoint/tracepoint.mod.o
- LD [M] /root/works/tracepoint/tracepoint.ko
- make[1]: Leaving directory `/usr/src/linux-3.0.76-0.11-obj/x86_64/default'
- suse11-1:~/works/tracepoint # insmod tracepoint.ko
- suse12-1:~/works/codes/tracepoint # make
- make -C /lib/modules/4.4.21-69-default/build M=/root/works/codes/tracepoint modules
- make[1]: Entering directory '/usr/src/linux-4.4.21-69-obj/x86_64/default'
- CC [M] /root/works/codes/tracepoint/tracepoint.o
- Building modules, stage 2.
- MODPOST 1 modules
- WARNING: "__tracepoint_netif_receive_skb" [/root/works/codes/tracepoint/tracepoint.ko] undefined!
- CC /root/works/codes/tracepoint/tracepoint.mod.o
- LD [M] /root/works/codes/tracepoint/tracepoint.ko
- make[1]: Leaving directory '/usr/src/linux-4.4.21-69-obj/x86_64/default'
- suse12-1:~/works/codes/tracepoint #
- suse12-1:~/works/codes/tracepoint # insmod tracepoint.ko
- insmod: ERROR: could not insert module tracepoint.ko: Unknown symbol in module
Add Comment
Please, Sign In to add comment