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