Panic with if_bridge when removing components

Andrew Thompson thompsa at FreeBSD.org
Sun Jun 10 20:49:29 UTC 2012


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


More information about the freebsd-net mailing list