如何为我自己编写的内核模块禁用rmmod?

时间:2012-02-15 10:04:47

标签: linux-kernel linux-device-driver

如果用户进程正在使用内核模块,我希望另一个进程无法为该模块触发rmmod。 如何实现这种功能?

Linux内核编程中的

-beginner。

1 个答案:

答案 0 :(得分:4)

当refcount为零时,

rmmod只能 卸载模块。

如果在连接用户进程时递增引用计数(并在断开连接时递减),那么你会没事的。

如果模块公开某个设备,或者作为文件系统安装,那么这应该自然处理 - 如果没有,我想这将取决于用户空间界面,但是从哪里开始查看。

顺便说一下,lsmod会显示您的模块引用计数。您可以检查在用户空间进程连接时它是否会增加。