【问题标题】:Where in the linux kernel does "mmap" looks at the file inode to see if it's already loaded?在 linux 内核中,“mmap”在哪里查看文件 inode 以查看它是否已经加载?
【发布时间】:2019-12-18 02:26:49
【问题描述】:

我想kprobe 将新文件映射到内存的函数,但我很难找到检查文件描述符是否已加载的函数。

我尝试挂钩 mmap 系统调用,但这并没有真正的帮助,因为我已经得到了像 libc.so 这样的映射文件。

我似乎无法弄清楚它是与文件系统相关还是与内存相关,我查看了这两个地方但找不到它发生的位置。

【问题讨论】:

    标签: linux kernel mmap


    【解决方案1】:

    inode 是内核私有对象。内核不使用 libc.so。用户级程序(可能使用 libc.so)不能直接引用 inode;相反,它们有一个进程本地标识符(文件描述符),内核知道如何将其转换为适当的结构。

    所以,你找错地方了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      相关资源
      最近更新 更多