Panic with if_bridge when removing components
Gustau Perez Querol
gperez at entel.upc.edu
Mon Jun 11 05:17:48 UTC 2012
On Mon, 11 Jun 2012 08:49:29 +1200, Andrew Thompson wrote:
> On 10 June 2012 02:27, Gustau Perez Querol <gperez at entel.upc.edu>
> wrote:
>> Hi,
>>
>> I'm seeing panics when removing an interface of a bridge. The
>> system runs
>> HEAD/AMD64 r236733. I see no changes to if_bridge.c in the last two
>> days, so
>> I would say the problem's still there. I also checked stable and the
>> problem
>> should be there too.
>>
>> The problem is that I have a bridge composed of two ethernet
>> interfaces, an
>> ath interface and a tap. As soon as I remove any of them the system
>> panics.
>> Because the system runs openvpn with the tap connected to the
>> bridge, when
>> the system starts to reboot, the openvpn daemon removes the tap and
>> thus
>> causing also the panic.
>>
>> The panic comes because at sys/net/if_bridge.c:943 the struct
>> *ifnet->if_bridge of the interface removed is set to NULL too early.
>> Because
>> of this, at sys/net/if_bridge.c:996 we call
>> if_bridge.c:bridge_linkstate
>> where the struct *ifnet->if_bridge is needed. This causes the panic.
>
>
> I introduced this issue in r234487, please try this patch.
> http://people.freebsd.org/~thompsa/bridge_link.diff
>
> regards,
> Andrew
I'll check this evening (if time permits) and report back.
More information about the freebsd-net
mailing list