小编lia*_*ig1的帖子

为什么在struct file_operation中没有munmap回调?

我正在研究一个Linux内核模块,该模块通过syscall mmap与用户应用程序共享一块内存。模块在struct file_operations中定义的mmap回调的帮助下正常工作,该mmap回调在调用syscall时通知模块。

但是,当用户应用程序希望通过syscall munmap停止共享时,就会出现问题。没有munmap回调或在struct file_operations中做类似工作的东西。因此,我必须执行另一个ioctl来通知内核模块共享已被撤消,这既不方便又不安全。

在寻找解决方案的过程中,我发现曾经有一个munmap回调定义。但是,当内核版本大约为2.4或之后的某个时候,它已被删除。

有人可以告诉我为什么取消了munmap回调,还是有其他方法可以在调用munmap syscall时通知内核模块?

c linux mmap kernel-module

5
推荐指数
1
解决办法
1534
查看次数

标签 统计

c ×1

kernel-module ×1

linux ×1

mmap ×1