I noticed junk returned by curprocname() defined in linux26-32-process.emt (included in vprobe-toolkit)
Following patch fixes it:
$ diff -u /tmp/linux26-32-process.emt vp/linux26-32-process.emt
--- /tmp/linux26-32-process.emt 2009-04-04 00:03:42.182700000 +0530
+++ vp/linux26-32-process.emt 2009-04-03 23:58:58.436700000 +0530
@@ -45,7 +45,7 @@
_pidOffset = offatret("sys_getpid");
_nameOffset = offatstrcpy("get_task_comm");
}
- return RSP & 0xffffe000;
+ return RSP & 0xfffff000;
}
This is because all recent Linux kernels have 4K per-process kernel stack.
$ cat /boot/config-2.6.27.19-170.2.35.fc10.i686 | grep 4KSTACKS
CONFIG_4KSTACKS=y
BTW, where can I find documentation for 'offatret()' and 'offatstrcpy()' used in curthrptr() ?
Thanks,
Nitin