Page MenuHomeFreeBSD

bridge: Release bridge lock when calling iflladdr_event handler
AbandonedPublic

Authored by kp on Feb 3 2017, 4:38 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Oct 16, 11:08 PM
Unknown Object (File)
Thu, Oct 2, 1:59 AM
Unknown Object (File)
Sep 8 2025, 1:52 PM
Unknown Object (File)
Sep 7 2025, 9:56 AM
Unknown Object (File)
Sep 7 2025, 12:59 AM
Unknown Object (File)
Aug 22 2025, 12:00 PM
Unknown Object (File)
Jul 14 2025, 1:19 PM
Unknown Object (File)
Jul 7 2025, 2:55 PM
Subscribers

Details

Reviewers
philip
Group Reviewers
network
Summary
We can't run the event handler with the bridge lock held because it can
trigger arp packets on the bridge, which would try to take tbe bridge
lock again.
We do ensure that no interfaces can be added or removed while we do
this.

The crash manifests when adding/removing the first interface to the
bridge if net.link.bridge.inherit_mac is set.

PR: 216510
Test Plan

bridge=ifconfig bridge create
epair=ifconfig epair create | sed 's/.$//'

sysctl net.link.bridge.inherit_mac=1
ifconfig $bridge 11.255.255.1/28
ifconfig $bridge addm ${epair}a
ifconfig $bridge deletem ${epair}a

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 7158

Event Timeline

kp retitled this revision from to bridge: Release bridge lock when calling iflladdr_event handler.
kp updated this object.
kp edited the test plan for this revision. (Show Details)
kp added reviewers: network, philip.
kp set the repository for this revision to rS FreeBSD src repository - subversion.