获取内核代码中的当前工作目录

gau*_*rav 4 linux directory linux-kernel

我正在开发一个项目,我需要知道调用系统调用的可执行文件的当前工作目录.我认为有可能像一些系统调用那样open利用这些信息.

你能告诉我如何在字符串中获取当前的工作目录路径吗?

Mat*_*Mat 10

您可以查看getcwd系统调用的实现方式,以了解如何执行此操作.

那个系统调用进入fs/dcache.c并调用:

get_fs_root_and_pwd(current->fs, &root, &pwd);
Run Code Online (Sandbox Code Playgroud)

root并且pwdstruct path变量,

该函数定义为内联函数include/linux/fs_struct.h,其中还包含:

static inline void get_fs_pwd(struct fs_struct *fs, struct path *pwd)
Run Code Online (Sandbox Code Playgroud)

这似乎就是你所追求的.