| 1 | |
| 2 | * This module emits "Hello, world" on printk when loaded.
|
| 3 | *
|
| 4 | * It is designed to be used for basic evaluation of the module loading
|
| 5 | * subsystem (for example when validating module signing/verification). It
|
| 6 | * lacks any extra dependencies, and will not normally be loaded by the
|
| 7 | * system unless explicitly requested by name.
|
| 8 |
|
| 9 |
|
| 10 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
| 11 |
|
| 12 | #include <linux/init.h>
|
| 13 | #include <linux/module.h>
|
| 14 | #include <linux/printk.h>
|
| 15 |
|
| 16 | static int __init test_module_init(void)
|
| 17 | {
|
| 18 | pr_warn("Hello, world\n");
|
| 19 |
|
| 20 | return 0;
|
| 21 | }
|
| 22 |
|
| 23 | module_init(test_module_init);
|
| 24 |
|
| 25 | static void __exit test_module_exit(void)
|
| 26 | {
|
| 27 | pr_warn("Goodbye\n");
|
| 28 | }
|
| 29 |
|
| 30 | module_exit(test_module_exit);
|
| 31 |
|
| 32 | MODULE_AUTHOR("Kees Cook <[email protected]>");
|
| 33 | MODULE_LICENSE("GPL");
|