]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
netfilter: nf_tables: Sort labels in nft_netdev_hook_alloc()
authorPhil Sutter <phil@nwl.cc>
Wed, 21 May 2025 20:44:31 +0000 (22:44 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 23 May 2025 11:57:13 +0000 (13:57 +0200)
No point in having err_hook_alloc, just call return directly. Also
rename err_hook_dev - it's not about the hook's device but freeing the
hook itself.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_tables_api.c

index 452f8a42d5e67e52c0a7221a08666d00840119f3..fabc82c988715a9370909163f861d8aef6885682 100644 (file)
@@ -2315,15 +2315,14 @@ static struct nft_hook *nft_netdev_hook_alloc(struct net *net,
        int err;
 
        hook = kzalloc(sizeof(struct nft_hook), GFP_KERNEL_ACCOUNT);
-       if (!hook) {
-               err = -ENOMEM;
-               goto err_hook_alloc;
-       }
+       if (!hook)
+               return ERR_PTR(-ENOMEM);
+
        INIT_LIST_HEAD(&hook->ops_list);
 
        err = nla_strscpy(hook->ifname, attr, IFNAMSIZ);
        if (err < 0)
-               goto err_hook_dev;
+               goto err_hook_free;
 
        hook->ifnamelen = nla_len(attr);
 
@@ -2334,22 +2333,21 @@ static struct nft_hook *nft_netdev_hook_alloc(struct net *net,
        dev = __dev_get_by_name(net, hook->ifname);
        if (!dev) {
                err = -ENOENT;
-               goto err_hook_dev;
+               goto err_hook_free;
        }
 
        ops = kzalloc(sizeof(struct nf_hook_ops), GFP_KERNEL_ACCOUNT);
        if (!ops) {
                err = -ENOMEM;
-               goto err_hook_dev;
+               goto err_hook_free;
        }
        ops->dev = dev;
        list_add_tail(&ops->list, &hook->ops_list);
 
        return hook;
 
-err_hook_dev:
+err_hook_free:
        kfree(hook);
-err_hook_alloc:
        return ERR_PTR(err);
 }