diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2007-11-29 07:41:43 -0500 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2007-11-29 07:41:43 -0500 |
commit | 17efdd45755c0eb8d1418a1368ef7c7ebbe98c6e (patch) | |
tree | 9c35ed698428088f320ef80a222b4339acd4a188 /net | |
parent | 0a11225887fe6cbccd882404dc36ddc50f47daf9 (diff) |
[BRIDGE]: Lost call to br_fdb_fini() in br_init() error path
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>
Diffstat (limited to 'net')
-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 93867bb6cc97..a90182873120 100644 --- a/net/bridge/br.c +++ b/net/bridge/br.c | |||
@@ -39,7 +39,7 @@ static int __init br_init(void) | |||
39 | 39 | ||
40 | err = br_fdb_init(); | 40 | err = br_fdb_init(); |
41 | if (err) | 41 | if (err) |
42 | goto err_out1; | 42 | goto err_out; |
43 | 43 | ||
44 | err = br_netfilter_init(); | 44 | err = br_netfilter_init(); |
45 | if (err) | 45 | if (err) |
@@ -65,6 +65,8 @@ err_out3: | |||
65 | err_out2: | 65 | err_out2: |
66 | br_netfilter_fini(); | 66 | br_netfilter_fini(); |
67 | err_out1: | 67 | err_out1: |
68 | br_fdb_fini(); | ||
69 | err_out: | ||
68 | llc_sap_put(br_stp_sap); | 70 | llc_sap_put(br_stp_sap); |
69 | return err; | 71 | return err; |
70 | } | 72 | } |