lkml.org 
[lkml]   [2022]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 19/60] bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers
    Date
    From: Jay Vosburgh <jay.vosburgh@canonical.com>

    [ Upstream commit 7a9214f3d88cfdb099f3896e102a306b316d8707 ]

    The bonding ARP monitor fails to decrement send_peer_notif, the
    number of peer notifications (gratuitous ARP or ND) to be sent. This
    results in a continuous series of notifications.

    Correct this by decrementing the counter for each notification.

    Reported-by: Jonathan Toppins <jtoppins@redhat.com>
    Signed-off-by: Jay Vosburgh <jay.vosburgh@canonical.com>
    Fixes: b0929915e035 ("bonding: Fix RTNL: assertion failed at net/core/rtnetlink.c for ab arp monitor")
    Link: https://lore.kernel.org/netdev/b2fd4147-8f50-bebd-963a-1a3e8d1d9715@redhat.com/
    Tested-by: Jonathan Toppins <jtoppins@redhat.com>
    Reviewed-by: Jonathan Toppins <jtoppins@redhat.com>
    Link: https://lore.kernel.org/r/9400.1655407960@famine
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/bonding/bond_main.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
    index d6ecd03b6045..246bcbd650b4 100644
    --- a/drivers/net/bonding/bond_main.c
    +++ b/drivers/net/bonding/bond_main.c
    @@ -3071,9 +3071,11 @@ static void bond_activebackup_arp_mon(struct bonding *bond)
    if (!rtnl_trylock())
    return;

    - if (should_notify_peers)
    + if (should_notify_peers) {
    + bond->send_peer_notif--;
    call_netdevice_notifiers(NETDEV_NOTIFY_PEERS,
    bond->dev);
    + }
    if (should_notify_rtnl) {
    bond_slave_state_notify(bond);
    bond_slave_link_notify(bond);
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-27 13:32    [W:2.671 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site