summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2007-12-11 09:39:30 +0800
committerGreg Kroah-Hartman <gregkh@suse.de>2007-12-14 10:32:00 -0800
commit57e344c3223d2079a359053c1d26def29c4ba511 (patch)
tree84022452c11af2e63bda6313aca1dfb26ec95b93
parent33b4144db91ddeb74203395d72bcd7bfdeb6c4e6 (diff)
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 <xemul@openvz.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--net/bridge/br.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/bridge/br.c b/net/bridge/br.c
index 848b8fa8bedd..94ae4d224da9 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;
}