lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 740/779] tracing: Avoid -Warray-bounds warning for __rel_loc macro
    Date
    From: Masami Hiramatsu <mhiramat@kernel.org>

    [ Upstream commit 58c5724ec2cdd72b22107ec5de00d90cc4797796 ]

    Since -Warray-bounds checks the destination size from the type of given
    pointer, __assign_rel_str() macro gets warned because it passes the
    pointer to the 'u32' field instead of 'trace_event_raw_*' data structure.
    Pass the data address calculated from the 'trace_event_raw_*' instead of
    'u32' __rel_loc field.

    Link: https://lkml.kernel.org/r/20220125233154.dac280ed36944c0c2fe6f3ac@kernel.org

    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: Kees Cook <keescook@chromium.org>
    Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
    [ This did not fix the warning, but is still a nice clean up ]
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    include/trace/trace_events.h | 7 ++++---
    1 file changed, 4 insertions(+), 3 deletions(-)

    diff --git a/include/trace/trace_events.h b/include/trace/trace_events.h
    index 8c6f7c433518..65d927e059d3 100644
    --- a/include/trace/trace_events.h
    +++ b/include/trace/trace_events.h
    @@ -318,9 +318,10 @@ TRACE_MAKE_SYSTEM_STR();
    #define __get_str(field) ((char *)__get_dynamic_array(field))

    #undef __get_rel_dynamic_array
    -#define __get_rel_dynamic_array(field) \
    - ((void *)(&__entry->__rel_loc_##field) + \
    - sizeof(__entry->__rel_loc_##field) + \
    +#define __get_rel_dynamic_array(field) \
    + ((void *)__entry + \
    + offsetof(typeof(*__entry), __rel_loc_##field) + \
    + sizeof(__entry->__rel_loc_##field) + \
    (__entry->__rel_loc_##field & 0xffff))

    #undef __get_rel_dynamic_array_len
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-15 21:57    [W:2.258 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site