diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lket.5.in | 8 | ||||
-rw-r--r-- | main.cxx | 8 | ||||
-rw-r--r-- | tapset/ChangeLog | 9 | ||||
-rw-r--r-- | tapset/ppc64/syscalls.stp | 49 | ||||
-rw-r--r-- | tapset/syscalls.stp | 16 |
6 files changed, 33 insertions, 62 deletions
@@ -1,3 +1,8 @@ +2006-07-17 Li Guanglei <guanglei@cn.ibm.com> + + * main.cxx: add LKET's tapsets into stap's default tapsets + search path + 2006-07-13 Frank Ch. Eigler <fche@elastic.org> * systemtap.spec.in: Add formerly missing admonitional verb. @@ -596,16 +596,16 @@ Here are some examples of using LKET: .TP To turn on all event hooks: -stap -e "probe addevent.* {}" -I /usr/share/systemtap/tapsets/LKET -bM +stap -e "probe addevent.* {}" -bM .TP To probe syscall: -stap -e "probe addevent.syscall {}" -I /usr/share/systemtap/tapsets/LKET -bM +stap -e "probe addevent.syscall {}" -bM .TP To only probe syscall.entry: -stap -e "probe addevent.syscall.entry {}" -I /usr/share/systemtap/tapsets/LKET -bM +stap -e "probe addevent.syscall.entry {}" -bM .TP To probe netdev transmition and log extra data of mac_len and priority: -stap -e "probe addevent.netdev.transmit { printf(\\"%4b%4b\\", skb->mac_len, skb->priority) }" -I /usr/share/systemtap/tapsets/LKET -bM +stap -e "probe addevent.netdev.transmit { printf(\\"%4b%4b\\", skb->mac_len, skb->priority) }" -bM .SH SEE ALSO .IR stap (1) @@ -140,10 +140,16 @@ main (int argc, char * const argv []) s.merge=true; const char* s_p = getenv ("SYSTEMTAP_TAPSET"); - if (s_p != NULL) + if (s_p != NULL) + { s.include_path.push_back (s_p); + s.include_path.push_back (string(s_p) + "/LKET"); + } else + { s.include_path.push_back (string(PKGDATADIR) + "/tapset"); + s.include_path.push_back (string(PKGDATADIR) + "/tapset/LKET"); + } const char* s_r = getenv ("SYSTEMTAP_RUNTIME"); if (s_r != NULL) diff --git a/tapset/ChangeLog b/tapset/ChangeLog index bdf22333..388c3f5e 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,12 @@ +2006-07-17 Li Guanglei <guanglei@cn.ibm.com> + + * syscalls.stp: make sys_acct, sys_add_key, sys_keyctl + and sys_modify_ldt optional on ppc64 since they are + weak symbol. + * ppc64/syscalls.stp: remove syscall.acct, syscall.add_key + and syscall.umask since they are already defined in + syscalls.stp + 2006-07-04 Martin Hunt <hunt@redhat.com> * syscalls.stp, syscalls2.stp: Use user_string_quoted(). diff --git a/tapset/ppc64/syscalls.stp b/tapset/ppc64/syscalls.stp index 5dc993c9..8364a334 100644 --- a/tapset/ppc64/syscalls.stp +++ b/tapset/ppc64/syscalls.stp @@ -984,20 +984,6 @@ probe syscall.compat_sys_socketcall.return = retstr = returnstr(1) } - -# acct _______________________________________________________ -# long sys_acct(const char __user *name) - -probe syscall.acct = kernel.function("sys_acct") ? { - name = "acct" - filename = user_string($name) - argstr = filename -} -probe syscall.acct.return = kernel.function("sys_acct").return ? { - name = "acct" - retstr = returnstr(1) -} - #sys32_open _______________________________________________________ # asmlinkage long sys32_open(const char * filename, int flags, int mode) probe syscall.sys32_open = kernel.function("sys32_open") ? { @@ -1082,25 +1068,6 @@ probe syscall.ppc_rtas.return = kernel.function("ppc_rtas").return { # # These system calls i(to eof) are removed in kernel version > 2.6.9 # -# add_key ____________________________________________________ -# long sys_add_key(const char __user *_type, -# const char __user *_description, -# const void __user *_payload, -# size_t plen, -# key_serial_t ringid) -probe syscall.add_key = kernel.function("sys_add_key") ? { - name = "add_key" - type_uaddr = $_type - description_auddr = $_description - payload_uaddr = $_payload - plen = $plen - ringid = $ringid - argstr = "add_key" -} -probe syscall.add_key.return = kernel.function("sys_add_key").return ? { - name = "add_key" - retstr = returnstr(1) -} # quotactl ___________________________________________________ # @@ -1145,22 +1112,6 @@ probe syscall.request_key.return = kernel.function("sys_request_key").return ? { name = "request_key" retstr = returnstr(1) } -# umask ______________________________________________________ -# -# asmlinkage long -# sys_umask(int mask) -# -probe syscall.umask = kernel.function("sys_umask") ? { - name = "umask" - mask = $mask - argstr = sprintf("%#o", $mask) -} -probe syscall.umask.return = - kernel.function("sys_umask").return { - name = "umask" - retstr = returnstr(3) -} - # sys32_execve ________________________________________ # diff --git a/tapset/syscalls.stp b/tapset/syscalls.stp index a5057cdf..3b14c2e6 100644 --- a/tapset/syscalls.stp +++ b/tapset/syscalls.stp @@ -55,12 +55,12 @@ probe syscall.access.return = kernel.function("sys_access").return { # acct _______________________________________________________ # long sys_acct(const char __user *name) -probe syscall.acct = kernel.function("sys_acct") { +probe syscall.acct = kernel.function("sys_acct") ? { name = "acct" filename = user_string($name) argstr = user_string_quoted($name) } -probe syscall.acct.return = kernel.function("sys_acct").return { +probe syscall.acct.return = kernel.function("sys_acct").return ? { name = "acct" retstr = returnstr(1) } @@ -72,7 +72,7 @@ probe syscall.acct.return = kernel.function("sys_acct").return { # size_t plen, # key_serial_t ringid) # -probe syscall.add_key = kernel.function("sys_add_key") { +probe syscall.add_key = kernel.function("sys_add_key") ? { name = "add_key" type_uaddr = $_type description_auddr = $_description @@ -85,7 +85,7 @@ probe syscall.add_key = kernel.function("sys_add_key") { text_strn(user_string($_payload),20,1), $plen, $ringid) } -probe syscall.add_key.return = kernel.function("sys_add_key").return { +probe syscall.add_key.return = kernel.function("sys_add_key").return ? { name = "add_key" retstr = returnstr(1) } @@ -1503,7 +1503,7 @@ probe syscall.kexec_load.return = kernel.function("sys_kexec_load").return ? { # unsigned long arg4, # unsigned long arg5) # -probe syscall.keyctl = kernel.function("sys_keyctl") { +probe syscall.keyctl = kernel.function("sys_keyctl") ? { name = "keyctl" option = $option arg2 = $arg2 @@ -1512,7 +1512,7 @@ probe syscall.keyctl = kernel.function("sys_keyctl") { arg5 = $arg5 argstr = sprintf("%d", $option) } -probe syscall.keyctl.return = kernel.function("sys_keyctl").return { +probe syscall.keyctl.return = kernel.function("sys_keyctl").return ? { name = "keyctl" retstr = returnstr(1) } @@ -1941,14 +1941,14 @@ probe syscall.mmap2.return = kernel.function("sys_mmap2").return ? { # modify_ldt _________________________________________________ # int sys_modify_ldt(int func, void __user *ptr, unsigned long bytecount) # -probe syscall.modify_ldt = kernel.function("sys_modify_ldt") { +probe syscall.modify_ldt = kernel.function("sys_modify_ldt") ? { name = "modify_ldt" func = $func ptr_uaddr = $ptr bytecount = $bytecount argstr = sprintf("%d, %p, %d", $func, $ptr, $bytecount) } -probe syscall.modify_ldt.return = kernel.function("sys_modify_ldt").return { +probe syscall.modify_ldt.return = kernel.function("sys_modify_ldt").return ? { name = "modify_ldt" retstr = returnstr(1) } |