• Zong Li's avatar
    net: Change the layout of structure trace_event_raw_fib_table_lookup · 0192e7d4
    Zong Li authored
    There is an unalignment access about the structure
    'trace_event_raw_fib_table_lookup'.
    
    In include/trace/events/fib.h, there is a memory operation which casting
    the 'src' data member to a pointer, and then store a value to this
    pointer point to.
    
    p32 = (__be32 *) __entry->src;
    *p32 = flp->saddr;
    
    The offset of 'src' in structure trace_event_raw_fib_table_lookup is not
    four bytes alignment. On some architectures, they don't permit the
    unalignment access, it need to pay the price to handle this situation in
    exception handler.
    
    Adjust the layout of structure to avoid this case.
    
    Fixes: 9f323973 ("net/ipv4: Udate fib_table_lookup tracepoint")
    Signed-off-by: default avatarZong Li <zong@andestech.com>
    Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0192e7d4
fib.h 2.23 KB