• Thomas Graf's avatar
    rtnetlink: Fix message size calculation for link messages · 369cf77a
    Thomas Graf authored
    nlmsg_total_size() calculates the length of a netlink message
    including header and alignment. nla_total_size() calculates the
    space an individual attribute consumes which was meant to be used
    in this context.
    
    Also, ensure to account for the attribute header for the
    IFLA_INFO_XSTATS attribute as implementations of get_xstats_size()
    seem to assume that we do so.
    
    The addition of two message headers minus the missing attribute
    header resulted in a calculated message size that was larger than
    required. Therefore we never risked running out of skb tailroom.
    Signed-off-by: default avatarThomas Graf <tgraf@infradead.org>
    Acked-by: default avatarPatrick McHardy <kaber@trash.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    369cf77a
rtnetlink.c 42.7 KB