-# 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 nd_syscall.add_key = kprobe.function("sys_add_key") ?
-{
- name = "add_key"
- asmlinkage()
- type_uaddr = pointer_arg(1)
- description_uaddr = pointer_arg(2)
- payload_uaddr = pointer_arg(3)
- plen = ulong_arg(4)
- ringid = int_arg(5)
- argstr = sprintf("%s, %s, %s, %u, %d",
- user_string_quoted(type_uaddr),
- user_string_quoted(description_uaddr),
- user_buffer_quoted(payload_uaddr, plen, syscall_string_trunc),
- plen, ringid)
-}
-probe nd_syscall.add_key.return = kprobe.function("sys_add_key").return ?
-{
- name = "add_key"
- retstr = returnstr(1)
-}
-
# adjtimex ___________________________________________________
# long sys_adjtimex(struct timex __user *txc_p)
probe nd_syscall.adjtimex = kprobe.function("sys_adjtimex") ?
--- /dev/null
+# 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)
+#
+
+@define _SYSCALL_ADD_KEY_NAME
+%(
+ name = "add_key"
+%)
+
+@define _SYSCALL_ADD_KEY_ARGSTR
+%(
+ argstr = sprintf("%s, %s, %s, %u, %d",
+ user_string_quoted(type_uaddr),
+ user_string_quoted(description_uaddr),
+ user_buffer_quoted(payload_uaddr, plen, syscall_string_trunc),
+ plen, ringid)
+%)
+
+probe syscall.add_key = dw_syscall.add_key !, nd_syscall.add_key {}
+probe syscall.add_key.return = dw_syscall.add_key.return !, nd_syscall.add_key.return {}
+
+# dw_add_key _____________________________________________________
+
+probe dw_syscall.add_key = kernel.function("sys_add_key").call ?
+{
+ @_SYSCALL_ADD_KEY_NAME
+ type_uaddr = $_type
+ description_uaddr = $_description
+ payload_uaddr = $_payload
+ plen = __ulong($plen)
+ ringid = __int32($ringid)
+ @_SYSCALL_ADD_KEY_ARGSTR
+}
+probe dw_syscall.add_key.return = kernel.function("sys_add_key").return ?
+{
+ @_SYSCALL_ADD_KEY_NAME
+ retstr = return_str(1, $return)
+}
+
+# nd_add_key _____________________________________________________
+
+probe nd_syscall.add_key = kprobe.function("sys_add_key") ?
+{
+ @_SYSCALL_ADD_KEY_NAME
+ asmlinkage()
+ type_uaddr = pointer_arg(1)
+ description_uaddr = pointer_arg(2)
+ payload_uaddr = pointer_arg(3)
+ plen = ulong_arg(4)
+ ringid = int_arg(5)
+ @_SYSCALL_ADD_KEY_ARGSTR
+}
+probe nd_syscall.add_key.return = kprobe.function("sys_add_key").return ?
+{
+ @_SYSCALL_ADD_KEY_NAME
+ retstr = returnstr(1)
+}
-# 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").call ?
-{
- name = "add_key"
- type_uaddr = $_type
-# 'description_auddr' should have been 'description_uaddr'. Deprecate
-# the old name.
-%(systemtap_v <= "1.4" %?
- description_auddr = $_description
-%)
- description_uaddr = $_description
- payload_uaddr = $_payload
- plen = __ulong($plen)
- ringid = __int32($ringid)
- argstr = sprintf("%s, %s, %s, %u, %d",
- user_string_quoted($_type),
- user_string_quoted($_description),
- user_buffer_quoted($_payload, $plen, syscall_string_trunc),
- __ulong($plen), __int32($ringid))
-}
-probe syscall.add_key.return = kernel.function("sys_add_key").return ?
-{
- name = "add_key"
- retstr = return_str(1, $return)
-}
-
# adjtimex ___________________________________________________
# long sys_adjtimex(struct timex __user *txc_p)
probe syscall.adjtimex = kernel.function("sys_adjtimex").call