• Linus Lüssing's avatar
    bridge: fix igmp / mld query parsing · f6daa117
    Linus Lüssing authored
    commit 856ce5d0 upstream.
    
    With the newly introduced helper functions the skb pulling is hidden
    in the checksumming function - and undone before returning to the
    caller.
    
    The IGMP and MLD query parsing functions in the bridge still
    assumed that the skb is pointing to the beginning of the IGMP/MLD
    message while it is now kept at the beginning of the IPv4/6 header.
    
    If there is a querier somewhere else, then this either causes
    the multicast snooping to stay disabled even though it could be
    enabled. Or, if we have the querier enabled too, then this can
    create unnecessary IGMP / MLD query messages on the link.
    
    Fixing this by taking the offset between IP and IGMP/MLD header into
    account, too.
    
    Fixes: 9afd85c9 ("net: Export IGMP/MLD message validation code")
    Reported-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
    Signed-off-by: default avatarLinus Lüssing <linus.luessing@c0d3.blue>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
    f6daa117
br_multicast.c 48.3 KB