net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Wed, 23 Nov 2022 14:18:28 +0000 (15:18 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Jan 2023 08:26:07 +0000 (09:26 +0100)
[ Upstream commit 31d929de5a112ee1b977a89c57de74710894bbbf ]

When the name_assign_type attribute was introduced (commit
685343fc3ba6, "net: add name_assign_type netdev attribute"), the
loopback device was explicitly mentioned as one which would make use
of NET_NAME_PREDICTABLE:

    The name_assign_type attribute gives hints where the interface name of a
    given net-device comes from. These values are currently defined:
...
      NET_NAME_PREDICTABLE:
        The ifname has been assigned by the kernel in a predictable way
        that is guaranteed to avoid reuse and always be the same for a
        given device. Examples include statically created devices like
        the loopback device [...]

Switch to that so that reading /sys/class/net/lo/name_assign_type
produces something sensible instead of returning -EINVAL.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/loopback.c

index 30612497643c08caa8a3bf352b13f784f729f725..daef41ce234922ca7887c6dc7a9fa72cd0d5538d 100644 (file)
@@ -206,7 +206,7 @@ static __net_init int loopback_net_init(struct net *net)
        int err;
 
        err = -ENOMEM;
-       dev = alloc_netdev(0, "lo", NET_NAME_UNKNOWN, loopback_setup);
+       dev = alloc_netdev(0, "lo", NET_NAME_PREDICTABLE, loopback_setup);
        if (!dev)
                goto out;