[問題] kernel module

看板LinuxDev作者 (非常念舊)時間5年前 (2018/10/15 23:28), 5年前編輯推噓2(207)
留言9則, 3人參與, 5年前最新討論串1/1
我在自己的電腦上編譯 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 -------------------------------------------------------------------------- 第一次 insmod 沒有出現任何我的 printk [ 21.142600] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready [ 21.189327] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready [ 21.192464] e1000: ens33 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None [ 21.193253] IPv6: ADDRCONF(NETDEV_CHANGE): ens33: link becomes ready [ 77.120885] rfkill: input handler disabled [ 364.034842] sayHello: loading out-of-tree module taints kernel. [ 364.034883] sayHello: module verification failed: signature and/or required key missing - tainting kernel 然後 rmmod 出現 driver_entry 21.142600] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready [ 21.189327] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready [ 21.192464] e1000: ens33 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None [ 21.193253] IPv6: ADDRCONF(NETDEV_CHANGE): ens33: link becomes ready [ 77.120885] rfkill: input handler disabled [ 364.034842] sayHello: loading out-of-tree module taints kernel. [ 364.034883] sayHello: module verification failed: signature and/or required key missing - tainting kernel [ 364.039197] driver entry 請問有人遇過嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.215.61 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1539617309.A.C65.html

10/15 23:56, 5年前 , 1F
static int __init xxxxx(void) 這樣試試??
10/15 23:56, 1F

10/16 20:17, 5年前 , 2F
應該是 printk 沒加換行, 看到前一次的訊息吧.
10/16 20:17, 2F

10/16 21:08, 5年前 , 3F
都不行....
10/16 21:08, 3F
※ 編輯: gn00618777 (219.68.215.61), 10/16/2018 21:11:24

10/16 22:54, 5年前 , 4F
我想..應該就是verification的問題了
10/16 22:54, 4F

10/16 22:55, 5年前 , 5F
得重編kernel
10/16 22:55, 5F

10/17 00:51, 5年前 , 6F
剛弄了一台 4.15.0-36-generic (Ubuntu 16.04.5 LTS) 實測,
10/17 00:51, 6F

10/17 00:52, 5年前 , 7F
證實是 printk 加上換行就好了. 與 verification 無關.
10/17 00:52, 7F

10/17 00:54, 5年前 , 8F
"eeeentry" => "eeeentry\n" 及 "Good bye" => "Good bye\n"
10/17 00:54, 8F

10/17 23:18, 5年前 , 9F
....我剛剛正準備重編了XD 還好有再上來看這篇 謝
10/17 23:18, 9F
文章代碼(AID): #1RnB8Tnb (LinuxDev)
文章代碼(AID): #1RnB8Tnb (LinuxDev)