Linux kernel 绝对路径之d_path篇
Posted LiuYanYGZ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux kernel 绝对路径之d_path篇相关的知识,希望对你有一定的参考价值。
摘自:https://blog.csdn.net/cenziboy/article/details/8761621
一. d_path函数说明
d_path 是内核提供的根据dentry和vfsmount获取绝对路径函数
此函数有2个版本,以内核版本2.6.25为分界
extern char *d_path(const struct path *, char *, int);
extern char * d_path(struct dentry *, struct vfsmount *, char *, int);
结构体path原型如下
struct path {
struct vfsmount *mnt;
struct dentry *dentry;
};
仅仅是对 vfsmount 和 dentry进行了简单封装而已
二.获取进程路径
char* get_absolute_path(struct task_struct * task) { char * ret_ptr = NULL; char * tpath = NULL ; struct vm_area_struct * vma = NULL; struct path base_path; tpath = (char*)kmalloc(512, 0); if(NULL == tpath || NULL == task) { return NULL; } memset(tpath,‘