blob: 319b66f1ff61ecb39466f15a186838c0f0692950
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 <keescook@chromium.org>"); |
33 | MODULE_LICENSE("GPL"); |
34 |