|
|
Log in / Subscribe / Register

bridge: prepare lockless br_port_fill_attrs() (I)

From:  Eric Dumazet <edumazet-AT-google.com>
To:  "David S . Miller" <davem-AT-davemloft.net>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com>
Subject:  [PATCH net-next 00/11] bridge: prepare lockless br_port_fill_attrs() (I)
Date:  Thu, 21 May 2026 13:19:05 +0000
Message-ID:  <20260521131916.3627204-1-edumazet@google.com>
Cc:  Simon Horman <horms-AT-kernel.org>, netdev-AT-vger.kernel.org, Ido Schimmel <idosch-AT-nvidia.com>, Nikolay Aleksandrov <razor-AT-blackwall.org>, eric.dumazet-AT-gmail.com, Eric Dumazet <edumazet-AT-google.com>
Archive-link:  Article

medium-term goal is to allow "ip link show" dump commands to run without RTNL.

This round of patches adds/fixes some lockess accesses in bridge.

This is not complete, more patches will come later.

Ultimately all changes to p->flags should use set_bit()/clear_bit().

Eric Dumazet (11):
  bridge: add a READ_ONCE() in br_timer_value()
  bridge: add bridge_flags_bit enum
  bridge: use BR_PROMISC_BIT
  bridge: use BR_ADMIN_COST_BIT
  bridge: provide lockless access to p->path_cost
  bridge: provide lockless access to p->designated_cost
  bridge: provide lockless access to p->designated_port
  bridge: provide lockless access to p->priority
  bridge: provide lockless access to p->port_id
  bridge: provide lockless access to p->config_pending
  bridge: read p->flags once in br_port_fill_attrs()

 include/linux/if_bridge.h | 78 ++++++++++++++++++++++++++-------------
 net/bridge/br_if.c        |  8 ++--
 net/bridge/br_ioctl.c     | 10 ++---
 net/bridge/br_netlink.c   | 55 ++++++++++++++-------------
 net/bridge/br_private.h   |  2 +-
 net/bridge/br_stp.c       | 38 ++++++++++---------
 net/bridge/br_stp_if.c    | 16 ++++----
 net/bridge/br_stp_timer.c |  2 +-
 net/bridge/br_sysfs_if.c  | 12 +++---
 9 files changed, 128 insertions(+), 93 deletions(-)

-- 
2.54.0.669.g59709faab0-goog




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds