今天在编译一个Netfilter网络数据过滤模块时,发现通过printk输出的调试信息总是不全,尤其是如果模块触发使系统崩溃后,重启根本不能通过printk输出的调试信息发现问题,所以打算生成自己的调试文件。 但在模块中利用flip->f_op->write这种方式输出调试信息的时候,系统总是崩溃,但在模块的init和exit函数中却能正常输出。查了很多资料才发现是因为这种方式操作文件需要在一定的进程上下文环境中才能正常运行,不能在中断上下文或者不具备进程上下文的环境使用。
两篇相关的文章:
阅读(3672) | 评论(0) | 转发(0) |