Host insane unsafe usage

This commit is contained in:
Ciro Santilli
2017-08-03 04:32:06 +01:00
parent dfc4981e46
commit 0bb3e8519a
13 changed files with 85 additions and 54 deletions

View File

@@ -6,7 +6,7 @@ ccflags-y := -Wno-declaration-after-statement -std=gnu99
all: hello.ko
hello.ko: hello.c
make -C '/lib/modules/$(shell uname -r)/build' M='$(PWD)' modules
$(MAKE) -C '/lib/modules/$(shell uname -r)/build' M='$(PWD)' modules
clean:
make -C '/lib/modules/$(shell uname -r)/build' M='$(PWD)' clean
$(MAKE) -C '/lib/modules/$(shell uname -r)/build' M='$(PWD)' clean

View File

@@ -1,35 +1,3 @@
# Host
Simple things that can be demonstrated by inserting a module into the currently running host. Tested on Ubuntu 16.04.
1. [hello](hello.c)
## Rationale
This method easier to setup, but it is not recommended for development, as:
- it may break your system
- you can't control which kernel version to use
Use VMs instead.
## Usage
We only use it for super simple examples.
Build, insert and remove a hello world module:
make
sudo insmod hello.ko
# Our module should be there.
sudo lsmod | grep hello
# Last message should be: init_module
dmest -T
sudo rmmod hello
# Last message should be: cleanup_module
dmest -T
Minimal host build system sanity check example.

View File

@@ -1,13 +1,17 @@
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
static int myinit(void)
{
printk(KERN_INFO "init_module\n");
pr_info("hello init\n");
return 0;
}
void cleanup_module(void)
static void myexit(void)
{
printk(KERN_INFO "cleanup_module\n");
pr_info("hello exit\n");
}
module_init(myinit)
module_exit(myexit)
MODULE_LICENSE("GPL");