]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: reduce indentation of __dev_alloc_name()
authorJakub Kicinski <kuba@kernel.org>
Mon, 23 Oct 2023 15:23:43 +0000 (08:23 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 24 Oct 2023 20:02:58 +0000 (13:02 -0700)
All callers of __dev_valid_name() go thru dev_prep_valid_name()
which handles the non-printf case. Focus __dev_alloc_name() on
the sprintf case, remove the indentation level.

Minor functional change of returning -EINVAL if % is not found,
which should now never happen.

Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/20231023152346.3639749-4-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/dev.c

index 004e9f26b16001a2168e44065d6d9efb067ef6b4..bbfb02b4a228c5ed601168178586a507440be4ec 100644 (file)
@@ -1080,50 +1080,46 @@ static int __dev_alloc_name(struct net *net, const char *name, char *res)
        if (!dev_valid_name(name))
                return -EINVAL;
 
+       /* Verify the string as this thing may have come from the user.
+        * There must be one "%d" and no other "%" characters.
+        */
        p = strchr(name, '%');
-       if (p) {
-               /*
-                * Verify the string as this thing may have come from
-                * the user.  There must be either one "%d" and no other "%"
-                * characters.
-                */
-               if (p[1] != 'd' || strchr(p + 2, '%'))
-                       return -EINVAL;
-
-               /* Use one page as a bit array of possible slots */
-               inuse = bitmap_zalloc(max_netdevices, GFP_ATOMIC);
-               if (!inuse)
-                       return -ENOMEM;
+       if (!p || p[1] != 'd' || strchr(p + 2, '%'))
+               return -EINVAL;
 
-               for_each_netdev(net, d) {
-                       struct netdev_name_node *name_node;
+       /* Use one page as a bit array of possible slots */
+       inuse = bitmap_zalloc(max_netdevices, GFP_ATOMIC);
+       if (!inuse)
+               return -ENOMEM;
 
-                       netdev_for_each_altname(d, name_node) {
-                               if (!sscanf(name_node->name, name, &i))
-                                       continue;
-                               if (i < 0 || i >= max_netdevices)
-                                       continue;
+       for_each_netdev(net, d) {
+               struct netdev_name_node *name_node;
 
-                               /*  avoid cases where sscanf is not exact inverse of printf */
-                               snprintf(buf, IFNAMSIZ, name, i);
-                               if (!strncmp(buf, name_node->name, IFNAMSIZ))
-                                       __set_bit(i, inuse);
-                       }
-                       if (!sscanf(d->name, name, &i))
+               netdev_for_each_altname(d, name_node) {
+                       if (!sscanf(name_node->name, name, &i))
                                continue;
                        if (i < 0 || i >= max_netdevices)
                                continue;
 
-                       /*  avoid cases where sscanf is not exact inverse of printf */
+                       /* avoid cases where sscanf is not exact inverse of printf */
                        snprintf(buf, IFNAMSIZ, name, i);
-                       if (!strncmp(buf, d->name, IFNAMSIZ))
+                       if (!strncmp(buf, name_node->name, IFNAMSIZ))
                                __set_bit(i, inuse);
                }
+               if (!sscanf(d->name, name, &i))
+                       continue;
+               if (i < 0 || i >= max_netdevices)
+                       continue;
 
-               i = find_first_zero_bit(inuse, max_netdevices);
-               bitmap_free(inuse);
+               /* avoid cases where sscanf is not exact inverse of printf */
+               snprintf(buf, IFNAMSIZ, name, i);
+               if (!strncmp(buf, d->name, IFNAMSIZ))
+                       __set_bit(i, inuse);
        }
 
+       i = find_first_zero_bit(inuse, max_netdevices);
+       bitmap_free(inuse);
+
        snprintf(buf, IFNAMSIZ, name, i);
        if (!netdev_name_in_use(net, buf)) {
                strscpy(res, buf, IFNAMSIZ);