]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bridge: use BR_PROMISC_BIT
authorEric Dumazet <edumazet@google.com>
Thu, 4 Jun 2026 14:13:35 +0000 (14:13 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sat, 6 Jun 2026 00:46:17 +0000 (17:46 -0700)
Use BR_PROMISC_BIT and set_bit(), clear_bit() and test_bit() lockless
functions.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Link: https://patch.msgid.link/20260604141343.2124500-4-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/bridge/br_if.c
net/bridge/br_private.h

index 049d1d25bc2602bfd6e25ee5199151172834f7b3..080e61d2414a2e567e50c33306e76836874fa852 100644 (file)
@@ -111,7 +111,7 @@ static void br_port_set_promisc(struct net_bridge_port *p)
                return;
 
        br_fdb_unsync_static(p->br, p);
-       p->flags |= BR_PROMISC;
+       set_bit(BR_PROMISC_BIT, &p->flags);
 }
 
 static void br_port_clear_promisc(struct net_bridge_port *p)
@@ -134,7 +134,7 @@ static void br_port_clear_promisc(struct net_bridge_port *p)
                return;
 
        dev_set_promiscuity(p->dev, -1);
-       p->flags &= ~BR_PROMISC;
+       clear_bit(BR_PROMISC_BIT, &p->flags);
 }
 
 /* When a port is added or removed or when certain port flags
index 02671e648dac7ab6fd59b80e044f62b00a8e4a8a..d55ea9516e3e369bb9e0045fca5b8d034ef5a45f 100644 (file)
@@ -452,7 +452,7 @@ struct net_bridge_port {
 #define kobj_to_brport(obj)    container_of(obj, struct net_bridge_port, kobj)
 
 #define br_auto_port(p) ((p)->flags & BR_AUTO_MASK)
-#define br_promisc_port(p) ((p)->flags & BR_PROMISC)
+#define br_promisc_port(p) test_bit(BR_PROMISC_BIT, &(p)->flags)
 
 static inline struct net_bridge_port *br_port_get_rcu(const struct net_device *dev)
 {