From: Pavel Emelyanov Date: Tue, 11 Dec 2007 01:39:30 +0000 (+0800) Subject: BRIDGE: Lost call to br_fdb_fini() in br_init() error path X-Git-Tag: v2.6.23.10~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5bd7fb00a5e973f741274f37628b9da21811c565;p=thirdparty%2Fkernel%2Fstable.git BRIDGE: Lost call to br_fdb_fini() in br_init() error path [BRIDGE]: Lost call to br_fdb_fini() in br_init() error path [ Upstream commit: 17efdd45755c0eb8d1418a1368ef7c7ebbe98c6e ] 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 Signed-off-by: Herbert Xu Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/bridge/br.c b/net/bridge/br.c index 848b8fa8bedd2..94ae4d224da90 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; }