Guest User

Untitled

a guest
May 5th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. diff --git a/tapset/nd_syscalls2.stp b/tapset/nd_syscalls2.stp
  2. index 5819cfb..f72f2f4 100644
  3. --- a/tapset/nd_syscalls2.stp
  4. +++ b/tapset/nd_syscalls2.stp
  5. @@ -4268,3 +4268,30 @@ probe nd_syscall.writev.return = kprobe.function("compat_sys_writev").return ?,
  6. name = "writev"
  7. retstr = returnstr(1)
  8. }
  9. +
  10. +# perf_event_open ____________________________________________
  11. +#
  12. +# SYSCALL_DEFINE5(perf_event_open,
  13. +# struct perf_event_attr __user *, attr_uptr,
  14. +# pid_t, pid, int, cpu, int, group_fd, unsigned long, flags)
  15. +probe nd_syscall.perf_event_open = kprobe.function("sys_perf_event_open") ?
  16. +{
  17. + name = "perf_event_open"
  18. + asmlinkage()
  19. + attr_uaddr = pointer_arg(1)
  20. + pid = int_arg(2)
  21. + cpu = int_arg(3)
  22. + group_fd = int_arg(4)
  23. + flags = ulong_arg(5)
  24. + flags_str = _perf_event_open_flags_str(flags)
  25. + argstr = sprintf("%p, %d, %d, %d, %s", attr_uaddr, pid, cpu, group_fd,
  26. + _perf_event_open_flags_str(flags))
  27. +}
  28. +probe nd_syscall.perf_event_open.return =
  29. + kprobe.function("sys_perf_event_open").return ?
  30. +{
  31. + name = "perf_event_open"
  32. + retstr = returnstr(1)
  33. +}
  34. +
  35. +
  36. diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp
  37. index 828077b..99e2d8f 100644
  38. --- a/tapset/syscalls2.stp
  39. +++ b/tapset/syscalls2.stp
  40. @@ -3592,3 +3592,29 @@ probe syscall.writev.return = kernel.function("compat_sys_writev").return ?,
  41. name = "writev"
  42. retstr = return_str(1, $return)
  43. }
  44. +
  45. +# perf_event_open ____________________________________________
  46. +#
  47. +# SYSCALL_DEFINE5(perf_event_open,
  48. +# struct perf_event_attr __user *, attr_uptr,
  49. +# pid_t, pid, int, cpu, int, group_fd, unsigned long, flags)
  50. +probe syscall.perf_event_open = kernel.function("sys_perf_event_open").call ?
  51. +{
  52. + name = "perf_event_open"
  53. + attr_uaddr = $attr_uptr
  54. + pid = __int32($pid)
  55. + cpu = __int32($cpu)
  56. + group_fd = __int32($group_fd)
  57. + flags = __int32($flags)
  58. + flags_str = _perf_event_open_flags_str(flags)
  59. + argstr = sprintf("%p, %d, %d, %d, %s", attr_uaddr, pid, cpu, group_fd,
  60. + _perf_event_open_flags_str(flags))
  61. +}
  62. +
  63. +probe syscall.perf_event_open.return =
  64. + kernel.function("sys_perf_event_open").return ?
  65. +{
  66. + name = "perf_event_open"
  67. + retstr = return_str(1, $return)
  68. +}
  69. +
Advertisement
Add Comment
Please, Sign In to add comment