From: David Smith Date: Tue, 24 Jul 2012 19:53:33 +0000 (-0500) Subject: Fixed PR14394 by adding compat_sys_sigprocmask() support. X-Git-Tag: release-2.0~259 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=8c9e33d27baa2d050894eb8d9a04da9c0f23e7a6;p=systemtap.git Fixed PR14394 by adding compat_sys_sigprocmask() support. * tapset/syscalls2.stp: Add compat_sys_sigprocmask() support. * tapset/nd_syscalls2.stp: Ditto. --- diff --git a/tapset/nd_syscalls2.stp b/tapset/nd_syscalls2.stp index a2026016c..42a9ccf4d 100644 --- a/tapset/nd_syscalls2.stp +++ b/tapset/nd_syscalls2.stp @@ -3066,8 +3066,13 @@ probe nd_syscall.sigpending.return = kprobe.function("sys_sigpending").return ? # sigprocmask ________________________________________________ # long sys_sigprocmask(int how, old_sigset_t __user *set, old_sigset_t __user *oset) +# asmlinkage long compat_sys_sigprocmask(int how, +# compat_old_sigset_t __user *nset, +# compat_old_sigset_t __user *oset) # -probe nd_syscall.sigprocmask = kprobe.function("sys_sigprocmask") ? +# +probe nd_syscall.sigprocmask = kprobe.function("sys_sigprocmask") ?, + kprobe.function("compat_sys_sigprocmask") ? { name = "sigprocmask" // how = $how @@ -3082,7 +3087,8 @@ probe nd_syscall.sigprocmask = kprobe.function("sys_sigprocmask") ? oldset_uaddr = pointer_arg(3) argstr = sprintf("%s, %p, %p", how_str, set_uaddr, oldset_uaddr) } -probe nd_syscall.sigprocmask.return = kprobe.function("sys_sigprocmask").return ? +probe nd_syscall.sigprocmask.return = kprobe.function("sys_sigprocmask").return ?, + kprobe.function("compat_sys_sigprocmask").return ? { name = "sigprocmask" retstr = returnstr(1) diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp index 065d05800..f3ae2117c 100644 --- a/tapset/syscalls2.stp +++ b/tapset/syscalls2.stp @@ -2501,8 +2501,12 @@ probe syscall.sigpending.return = kernel.function("sys_sigpending").return ? # sigprocmask ________________________________________________ # long sys_sigprocmask(int how, old_sigset_t __user *set, old_sigset_t __user *oset) +# asmlinkage long compat_sys_sigprocmask(int how, +# compat_old_sigset_t __user *nset, +# compat_old_sigset_t __user *oset) # -probe syscall.sigprocmask = kernel.function("sys_sigprocmask").call ? +probe syscall.sigprocmask = kernel.function("sys_sigprocmask").call ?, + kernel.function("compat_sys_sigprocmask").call ? { name = "sigprocmask" how = $how @@ -2511,7 +2515,8 @@ probe syscall.sigprocmask = kernel.function("sys_sigprocmask").call ? oldset_uaddr = $oset argstr = sprintf("%s, %p, %p", how_str, set_uaddr, $oset) } -probe syscall.sigprocmask.return = kernel.function("sys_sigprocmask").return ? +probe syscall.sigprocmask.return = kernel.function("sys_sigprocmask").return ?, + kernel.function("compat_sys_sigprocmask").return ? { name = "sigprocmask" retstr = return_str(1, $return)