• Eric Dumazet's avatar
    ipvlan: fix various issues in ipvlan_process_multicast() · b1227d01
    Eric Dumazet authored
    1) netif_rx() / dev_forward_skb() should not be called from process
    context.
    
    2) ipvlan_count_rx() should be called with preemption disabled.
    
    3) We should check if ipvlan->dev is up before feeding packets
    to netif_rx()
    
    4) We need to prevent device from disappearing if some packets
    are in the multicast backlog.
    
    5) One kfree_skb() should be a consume_skb() eventually
    
    Fixes: ba35f858 ("ipvlan: Defer multicast / broadcast processing to
    a work-queue")
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Cc: Mahesh Bandewar <maheshb@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b1227d01
ipvlan_main.c 21.4 KB