FreeBSD内核层如何获取syscall发生时,用户层提交相对路径的绝对路径。

新手上路,请多包涵

最近在看FreeBSD源码,发现一个这样的问题。
例如这个函数:

int
kern_openat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
    int flags, int mode)

在接受用户层数据时,char* path是相对路径。
如果无法转换为绝对路径的话,按理说是无法操作文件对象的。
但是我一直找不到FreeBSD内核在哪里将相对路径转换为绝对路径使用,求熟悉内核的大大指点一二。

阅读 1.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进