From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Tue, 27 Nov 2007 08:19:56 -0800 From: Stephen Hemminger Subject: Re: [PATCH][BRIDGE] Lost call to br_fdb_fini() in br_init() error path Message-ID: <20071127081956.0dd3df4f@freepuppy.rosehill> In-Reply-To: <474C2C2E.7050001@openvz.org> References: <474C2C2E.7050001@openvz.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: Linux Ethernet Bridging List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Pavel Emelyanov Cc: Linux Netdev List , bridge@lists.linux-foundation.org, Herbert Xu , devel@openvz.org On Tue, 27 Nov 2007 17:39:42 +0300 Pavel Emelyanov wrote: > In case the br_netfilter_init() (or any subsequent call) > fails, the br_fdb_fini() must be called to free the allocated > in br_fdb_init() br_fdb_cache kmem cache. > > Signed-off-by: Pavel Emelyanov > > --- > > diff --git a/net/bridge/br.c b/net/bridge/br.c > index 93867bb..a901828 100644 > --- a/net/bridge/br.c > +++ b/net/bridge/br.c > @@ -39,7 +39,7 @@ static int __init br_init(void) > > err = br_fdb_init(); > if (err) > - goto err_out1; > + goto err_out; > > err = br_netfilter_init(); > if (err) > @@ -65,6 +65,8 @@ err_out3: > err_out2: > br_netfilter_fini(); > err_out1: > + br_fdb_fini(); > +err_out: > llc_sap_put(br_stp_sap); > return err; > } Good catch, thanks I hope you didn't find this in live system. -- Stephen Hemminger