diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2007-12-11 09:39:30 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-12-14 09:51:05 -0800 |
commit | 5bd7fb00a5e973f741274f37628b9da21811c565 (patch) | |
tree | 866ad920b18140ea85db52e34f5cee2dfe057a22 | |
parent | 193e74df1d41817112df6d97ba447a4841378b2d (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.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/bridge/br.c b/net/bridge/br.c index 848b8fa8bed..94ae4d224da 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; } |