Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Jun 2012 08:49:29 +1200
From:      Andrew Thompson <thompsa@FreeBSD.org>
To:        Gustau Perez Querol <gperez@entel.upc.edu>
Cc:        net@freebsd.org
Subject:   Re: Panic with if_bridge when removing components
Message-ID:  <CAFAOGNRdNDV3JooR5hMjtD1W%2B8BkZU0U_8=CZLFgyimft6VEog@mail.gmail.com>
In-Reply-To: <c3457a59051eba45d2204aa1fb7388db@webmail.entel.upc.edu>
References:  <c3457a59051eba45d2204aa1fb7388db@webmail.entel.upc.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On 10 June 2012 02:27, Gustau Perez Querol <gperez@entel.upc.edu> wrote:
> =A0Hi,
>
> =A0I'm seeing panics when removing an interface of a bridge. The system r=
uns
> 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 prob=
lem
> should be there too.
>
> =A0The problem is that I have a bridge composed of two ethernet interface=
s, an
> ath interface and a tap. As soon as I remove any of them the system panic=
s.
> Because the system runs openvpn with the tap connected to the bridge, whe=
n
> the system starts to reboot, the openvpn daemon removes the tap and thus
> causing also the panic.
>
> =A0The 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. Beca=
use
> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFAOGNRdNDV3JooR5hMjtD1W%2B8BkZU0U_8=CZLFgyimft6VEog>