]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
netfilter: nf_nat: Fix memleak in nf_nat_init
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Sat, 9 Jan 2021 12:01:21 +0000 (20:01 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 19 Feb 2021 15:45:04 +0000 (16:45 +0100)
BugLink: https://bugs.launchpad.net/bugs/1914654
commit 869f4fdaf4ca7bb6e0d05caf6fa1108dddc346a7 upstream.

When register_pernet_subsys() fails, nf_nat_bysource
should be freed just like when nf_ct_extend_register()
fails.

Fixes: 1cd472bf036ca ("netfilter: nf_nat: add nat hook register functions to nf_nat")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: William Breathitt Gray <william.gray@canonical.com>
net/netfilter/nf_nat_core.c

index bfc555fcbc7291a4f72a473ae563f09a90fa5e35..89b58aa890a743c093760669120f82f0d112de2b 100644 (file)
@@ -1174,6 +1174,7 @@ static int __init nf_nat_init(void)
        ret = register_pernet_subsys(&nat_net_ops);
        if (ret < 0) {
                nf_ct_extend_unregister(&nat_extend);
+               kvfree(nf_nat_bysource);
                return ret;
        }