lkml.org 
[lkml]   [2019]   [Dec]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.4 081/187] samples: bpf: fix syscall_tp due to unused syscall
    Date
    From: "Daniel T. Lee" <danieltimlee@gmail.com>

    [ Upstream commit fe3300897cbfd76c6cb825776e5ac0ca50a91ca4 ]

    Currently, open() is called from the user program and it calls the syscall
    'sys_openat', not the 'sys_open'. This leads to an error of the program
    of user side, due to the fact that the counter maps are zero since no
    function such 'sys_open' is called.

    This commit adds the kernel bpf program which are attached to the
    tracepoint 'sys_enter_openat' and 'sys_enter_openat'.

    Fixes: 1da236b6be963 ("bpf: add a test case for syscalls/sys_{enter|exit}_* tracepoints")
    Signed-off-by: Daniel T. Lee <danieltimlee@gmail.com>
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    samples/bpf/syscall_tp_kern.c | 18 ++++++++++++++++--
    1 file changed, 16 insertions(+), 2 deletions(-)

    diff --git a/samples/bpf/syscall_tp_kern.c b/samples/bpf/syscall_tp_kern.c
    index 1d78819ffef1..630ce8c4d5a2 100644
    --- a/samples/bpf/syscall_tp_kern.c
    +++ b/samples/bpf/syscall_tp_kern.c
    @@ -47,13 +47,27 @@ static __always_inline void count(void *map)
    SEC("tracepoint/syscalls/sys_enter_open")
    int trace_enter_open(struct syscalls_enter_open_args *ctx)
    {
    - count((void *)&enter_open_map);
    + count(&enter_open_map);
    + return 0;
    +}
    +
    +SEC("tracepoint/syscalls/sys_enter_openat")
    +int trace_enter_open_at(struct syscalls_enter_open_args *ctx)
    +{
    + count(&enter_open_map);
    return 0;
    }

    SEC("tracepoint/syscalls/sys_exit_open")
    int trace_enter_exit(struct syscalls_exit_open_args *ctx)
    {
    - count((void *)&exit_open_map);
    + count(&exit_open_map);
    + return 0;
    +}
    +
    +SEC("tracepoint/syscalls/sys_exit_openat")
    +int trace_enter_exit_at(struct syscalls_exit_open_args *ctx)
    +{
    + count(&exit_open_map);
    return 0;
    }
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-12-27 18:54    [W:4.069 / U:0.164 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site