Patch "bonding: Fix unnecessary warnings and logs from bond_xdp_get_xmit_slave()" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    bonding: Fix unnecessary warnings and logs from bond_xdp_get_xmit_slave()

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     bonding-fix-unnecessary-warnings-and-logs-from-bond_.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 475db58562072e281312c88c356016564ded5a8f
Author: Jiwon Kim <jiwonaid0@xxxxxxxxx>
Date:   Wed Sep 18 14:06:02 2024 +0000

    bonding: Fix unnecessary warnings and logs from bond_xdp_get_xmit_slave()
    
    [ Upstream commit 0cbfd45fbcf0cb26d85c981b91c62fe73cdee01c ]
    
    syzbot reported a WARNING in bond_xdp_get_xmit_slave. To reproduce
    this[1], one bond device (bond1) has xdpdrv, which increases
    bpf_master_redirect_enabled_key. Another bond device (bond0) which is
    unsupported by XDP but its slave (veth3) has xdpgeneric that returns
    XDP_TX. This triggers WARN_ON_ONCE() from the xdp_master_redirect().
    To reduce unnecessary warnings and improve log management, we need to
    delete the WARN_ON_ONCE() and add ratelimit to the netdev_err().
    
    [1] Steps to reproduce:
        # Needs tx_xdp with return XDP_TX;
        ip l add veth0 type veth peer veth1
        ip l add veth3 type veth peer veth4
        ip l add bond0 type bond mode 6 # BOND_MODE_ALB, unsupported by XDP
        ip l add bond1 type bond # BOND_MODE_ROUNDROBIN by default
        ip l set veth0 master bond1
        ip l set bond1 up
        # Increases bpf_master_redirect_enabled_key
        ip l set dev bond1 xdpdrv object tx_xdp.o section xdp_tx
        ip l set veth3 master bond0
        ip l set bond0 up
        ip l set veth4 up
        # Triggers WARN_ON_ONCE() from the xdp_master_redirect()
        ip l set veth3 xdpgeneric object tx_xdp.o section xdp_tx
    
    Reported-by: syzbot+c187823a52ed505b2257@xxxxxxxxxxxxxxxxxxxxxxxxx
    Closes: https://syzkaller.appspot.com/bug?extid=c187823a52ed505b2257
    Fixes: 9e2ee5c7e7c3 ("net, bonding: Add XDP support to the bonding driver")
    Signed-off-by: Jiwon Kim <jiwonaid0@xxxxxxxxx>
    Signed-off-by: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx>
    Link: https://patch.msgid.link/20240918140602.18644-1-jiwonaid0@xxxxxxxxx
    Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index fd0667e1d10ab..67d153cc6a6c0 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -5191,9 +5191,9 @@ bond_xdp_get_xmit_slave(struct net_device *bond_dev, struct xdp_buff *xdp)
 		break;
 
 	default:
-		/* Should never happen. Mode guarded by bond_xdp_check() */
-		netdev_err(bond_dev, "Unknown bonding mode %d for xdp xmit\n", BOND_MODE(bond));
-		WARN_ON_ONCE(1);
+		if (net_ratelimit())
+			netdev_err(bond_dev, "Unknown bonding mode %d for xdp xmit\n",
+				   BOND_MODE(bond));
 		return NULL;
 	}
 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux