最近更换了一个新猫,内核是 4.4 的。 想编译内核模块,达到自启动脚本的目的。用到的函数是 call_usermodehelper, 参考这里。
https://elixir.bootlin.com/linux/v4.4.197/source/kernel/kmod.c#L616问题:之前老猫内核是 3.10 版的,一切运行正常。新猫内核 4+,加入了 PLTs, 导致运行始终提示: 查看之前的帖子,
https://v2ex.com/t/785417#reply1调用 call_usermodehelper(argv[0], argv, envp, UMH_WAIT_EXEC);
发现 UMH_WAIT_EXEC 就是一个坑啊,如果运行不成功,会导致 kernel hanging 。
后果: 现在猫,没法启动!!!!