diff options
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/open_namei.stp | 18 | ||||
| -rw-r--r-- | sys/sysmount.stp | 47 |
2 files changed, 65 insertions, 0 deletions
diff --git a/sys/open_namei.stp b/sys/open_namei.stp new file mode 100644 index 0000000..3dda40a --- /dev/null +++ b/sys/open_namei.stp @@ -0,0 +1,18 @@ +function pname:string (name:long) %{ + /*char *pathname = (char *)kread(&(THIS->name)); */ + + deref_string(THIS->__retvalue, THIS->name, MAXSTRINGLEN); + + CATCH_DEREF_FAULT(); +%} +probe kernel.function("open_namei") +{ + /* printf("pathname %s\n", kernel_string($pathname)); */ + printf("pathname %s\n", pname($pathname)); +} +probe kernel.function("open_namei").return +{ + printf("return %d\n", $return); +} +probe begin { log("starting open_namei probe") } +probe end { log("ending open_namei probe") } diff --git a/sys/sysmount.stp b/sys/sysmount.stp new file mode 100644 index 0000000..24a5190 --- /dev/null +++ b/sys/sysmount.stp @@ -0,0 +1,47 @@ +probe syscall.mount +{ + printf("sys_mount: %s\n", argstr); +} +probe syscall.mount.return +{ + printf("sys_mount: return %s\n", retstr); +} +/* +probe kernel.function("get_fs_type") +{ + name = user_string($name); + printf(" get_fs_type: fstype %s name %s\n", fstype, name); +} +probe kernel.function("get_fs_type").return +{ + printf(" get_fs_type: return %p\n", $fs); +} +*/ +probe kernel.function("do_add_mount") +{ + printf(" do_add_mount: newmnt %p\n", $newmnt); +} +probe kernel.function("do_add_mount").return +{ + printf(" do_add_mount: return %d\n", $return); +} +probe kernel.function("graft_tree") +{ + printf(" graft_tree: mnt %p\n", $mnt); +} +probe kernel.function("graft_tree").return +{ + printf(" graft_tree: return %d\n", $return); +} + +probe kernel.function("vfs_kern_mount") +{ + name = user_string($name); + printf(" vfs_kern_mount: %s\n", name); +} +probe kernel.function("vfs_kern_mount").return +{ + printf(" vfs_kern_mount: return %p\n", $error); +} +probe begin { log("sys_mount probe") } +probe end { log("sys_mount probe") } |
