之前写了一篇博客介绍怎么获取内核超级块实例
链接: https://blog.csdn.net/kaka__55/article/details/103655728.
在实际使用中,编写ko插入获取实例成功,获得了想要的信息,rmmod这个获取超级块实例的ko后,再去rmmod创建该超级块的ko,发现无法rmmod,经排查发现是该模块计数不为0,发现原来是获取内核超级块实例时将该模块的计数增加了一,移除ko时没有减一导致的
因而,在获取内核超级块实例ko的退出函数中加上如下函数便可消除该bug:
void module_put(struct module *module);