• Yonghong Song's avatar
    correct certain tracepoint types in tp frontend action · 0e02fec8
    Yonghong Song authored
    Fix issue #2010.
    
    Alastair reported some missing cases in tp frontend action
    where certain types are not adjusted.
    For example, for tracepoint syscalls:sys_enter_kill,
    the kernel format:
            ...
            field:int __syscall_nr; offset:8;       size:4; signed:1;
            field:pid_t pid;        offset:16;      size:8; signed:0;
            field:int sig;  offset:24;      size:8; signed:0;
    
    The size for "pid_t pid" is 8 bytes, but the kernel pid_t
    is "int", so it is needed to change its type to "s64"
    to be consistent to its size.
    
    This patch also added conversion for gid_t and uid_t as Alastair
    discovered that they are also used in some tracepoints with size 8.
    For type gid_t and uid_t, the corresponding kernel type is "unsigned int",
    so it should be converted to "u64".
    Signed-off-by: default avatarYonghong Song <yhs@fb.com>
    0e02fec8
tp_frontend_action.cc 8.61 KB