[问题] kernel module

楼主: gn00618777 (非常念旧)   2018-10-15 23:28:25
我在自己的电脑上编译 kernel module
kernel 4.15.0-36-generic
程式码仅有
static int driver_entry(void) {
printk(KERN_INFO "eeeentry");
return 0;
}
static void driver_exit(void) {
printk(KERN_INFO "Good bye");
}
module_init(driver_entry);
module_exit(driver_exit);
MODULE_LICENSE("GPL");
但我不知道为何 insmod 和 rmmod 时,印出的顺序是相反的XD,insmod 印出 Good bye
rmmod 印出eeeentry
[ 131.604421] sayHello: loading out-of-tree module taints kernel.
[ 131.604458] sayHello: module verification failed: signature and/or
required key missing - tainting kernel
[ 131.606243] eeeentry
[ 151.454288] Good bye
[ 324.322405] eeeentry
[ 372.027624] Good bye
[ 430.550556] eeeentry
作者: final01 (牛顿运动定律)   2018-10-15 23:56:00
static int __init xxxxx(void) 这样试试??
作者: yvb   2018-10-16 20:17:00
应该是 printk 没加换行, 看到前一次的讯息吧.
楼主: gn00618777 (非常念旧)   2018-10-16 21:08:00
都不行....我想..应该就是verification的问题了得重编kernel
作者: yvb   2018-10-17 00:51:00
刚弄了一台 4.15.0-36-generic (Ubuntu 16.04.5 LTS) 实测,证实是 printk 加上换行就好了. 与 verification 无关."eeeentry" => "eeeentry\n" 及 "Good bye" => "Good bye\n"
楼主: gn00618777 (非常念旧)   2018-10-17 23:18:00
....我刚刚正准备重编了XD 还好有再上来看这篇 谢

Links booklink

Contact Us: admin [ a t ] ucptt.com