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

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Mon May 2 16:52:32 UTC 2016


Merged into master with small nits fixed, along with the content of my
struct-array github branch.

Thanks,

Mathieu

----- On Apr 30, 2016, at 11:09 AM, Julien Desfossez jdesfossez at efficios.com wrote:

> 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:
> - Use GFP_ATOMIC | GFP_NOWAIT
> - 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(+)
> 
> --
> 1.9.1

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com


More information about the lttng-dev mailing list