diff options
-rw-r--r-- | tapset/dentry.stp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/tapset/dentry.stp b/tapset/dentry.stp index 778832f9..1d045d02 100644 --- a/tapset/dentry.stp +++ b/tapset/dentry.stp @@ -30,6 +30,20 @@ function __dentry_prepend:string(dentry:long,name:string) +%{ +#include <linux/sched.h> +#include <linux/fs_struct.h> +%} + + +function __dentry_get_current_root:long() +%{ + THIS->__retvalue = (long)¤t->fs->root; +%} + + + + /** * sfunction d_name - get the dirent name * @@ -71,7 +85,7 @@ function reverse_path_walk:string(dentry:long) */ function d_path:string(nd:long) { - root = @cast(curr, "task_struct", "kernel<linux/sched.h>")->fs->root; + root = __dentry_get_current_root() dentry = (@defined(@cast(nd,"nameidata")->path->dentry) ? @cast(nd,"nameidata")->path->dentry : @cast(nd,"nameidata")->dentry) |