在Chroot调用应用程序的上下文中,从Linux内核驱动程序中访问绝对文件路径



linux驱动程序问题。我有一个有效打电话给内核模块的应用程序。内核模块必须从应用程序的调用期间从特定的绝对路径读取文件。

这一切在正常条件下都可以正常工作。

当应用程序从Chroot运行时,就会发生问题。那时,在从Chroot运行的应用程序的上下文中运行,我的驱动程序不再可以访问其必须读取的文件的绝对路径。

驱动程序正在使用filp_open((打开文件,该文件是从Chroot运行时失败的。

我是否可以在不打扰应用程序的chroot或使用应用程序中访问Chroot中的其他文件的情况下指定文件打开的根源。

Linux版本是CentOS 7.1内核3.10.0-229-EL7.x86_64任何信息都非常感谢。

这在内核代码中爬行了很多,但是我弄清楚了如何。

首先,我需要使用get_fs_root(init_task.fs,& realrootpath(这是真正的根路径,而不是chroot路径。

然后,我需要使用filename_lookup((将名称数据设置为我的rootpath并传递在Lookup_root标志中,以便从真实的root路径上查看它。

最后,我必须使用Dentry_open((使用我查找的路径来打开文件。在这一点上,我可以访问并读取在当前任务之外的文件。

相关内容

  • 没有找到相关文章

最新更新