[lttng-dev] [PATCH lttng-modules v7 0/5] Extract payload from polling syscalls

Julien Desfossez jdesfossez at efficios.com
Sat Apr 30 15:09:25 UTC 2016

Patch serie to extract the payload of the polling system calls on x86 and ARM
(32 and 64-bit). The concerned system calls are select, pselect6, poll, ppoll,
epoll_ctl, epoll_wait, epoll_pwait.

Changes from v6:
 - Fix risk of uint overflow on bogus input
 - Fix endianness problem on raw event fields

Changes from v5:
 - Removed a lot of code duplication by factoring all in macros (422 lines less
   compared to previous PR, that is 361 backslashes added !)
 - Bugfix from v5 review

Changes from v4:
 - Use GFP_ATOMIC memory for dynamic allocation (because we cannot sleep in TP)
 - Limit the allocated memory to one page
 - Set an overflow flag if we cannot allocate enough memory
 - Fix endianness problem for select
 - Bugfix from v4 review

Changes from v3:
 - Use dynamic allocation for select
 - Bugfix from v3 review
 - Cleanup epoll_wait error handling

Changes from v2:
 - Make sure all user-controlled data is handled safely in the kernel
 - Allocate memory instead of using the stack for arbitrarily large data
 - Only extract the standard event flags and output the raw event value as hex

Julien Desfossez (5):
  Add ctf_integer_bitfield_type
  Extract the FD sets in select and pselect6
  Extract the FDs and flags from poll and ppoll
  Extract the payload for epoll_ctl
  Extract the payload of epoll_wait/epoll_pwait

 .../syscalls/headers/syscalls_pointers_override.h  | 821 +++++++++++++++++++++
 probes/lttng-events-write.h                        |   8 +
 2 files changed, 829 insertions(+)


More information about the lttng-dev mailing list