如何从/ sys / module恢复隐藏的可加载内核模块并处理还原holder_dir?

时间:2012-11-18 04:56:32

标签: c linux linux-kernel sys

我正在使用隐藏在Linux Kernel 3.x上的内核模块。我尝试从/ sys / module隐藏和恢复模块。在内核版本3.0和3.2.6上一切正常。我可以加载和卸载模块并隐藏和取消隐藏它。当我在内核3.6.6上卸载模块时,我收到以下错误:

rmmod:错误:无法打开'/ sys / module / xxx / holder':没有这样的文件或目录 rmmod:错误:模块xxx正在使用

有谁知道如何恢复模块的struct kobject * holder_dir,以便我能够无错误地卸载它?

这是我的代码:

/* hide from /sys/module */ 
kobject_del(&__this_module.mkobj.kobj);
list_del(&__this_module.mkobj.kobj.entry);

/* add to /sys/module */    
kobject_add(&__this_module.mkobj.kobj,__this_module.mkobj.kobj.parent,"xxx");

0 个答案:

没有答案