lkml.org 
[lkml]   [2020]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.5 014/151] macvlan: add cond_resched() during multicast processing
    Date
    From: Mahesh Bandewar <maheshb@google.com>

    [ Upstream commit ce9a4186f9ac475c415ffd20348176a4ea366670 ]

    The Rx bound multicast packets are deferred to a workqueue and
    macvlan can also suffer from the same attack that was discovered
    by Syzbot for IPvlan. This solution is not as effective as in
    IPvlan. IPvlan defers all (Tx and Rx) multicast packet processing
    to a workqueue while macvlan does this way only for the Rx. This
    fix should address the Rx codition to certain extent.

    Tx is still suseptible. Tx multicast processing happens when
    .ndo_start_xmit is called, hence we cannot add cond_resched().
    However, it's not that severe since the user which is generating
    / flooding will be affected the most.

    Fixes: 412ca1550cbe ("macvlan: Move broadcasts into a work queue")
    Signed-off-by: Mahesh Bandewar <maheshb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/macvlan.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/drivers/net/macvlan.c
    +++ b/drivers/net/macvlan.c
    @@ -334,6 +334,8 @@ static void macvlan_process_broadcast(st
    if (src)
    dev_put(src->dev);
    consume_skb(skb);
    +
    + cond_resched();
    }
    }


    \
     
     \ /
      Last update: 2020-03-17 12:18    [W:5.668 / U:0.216 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site