]> git.hungrycats.org Git - linux/commitdiff
BRIDGE: Lost call to br_fdb_fini() in br_init() error path
authorPavel Emelyanov <xemul@openvz.org>
Tue, 11 Dec 2007 01:39:30 +0000 (09:39 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 14 Dec 2007 17:51:05 +0000 (09:51 -0800)
[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>
net/bridge/br.c

index 848b8fa8bedd23ee09048ec87e096fc505b6fcb7..94ae4d224da9020207f0e6ba49bebfb0ff0b2e34 100644 (file)
@@ -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;
 }