diff options
author | Oliver Hartkopp <oliver@hartkopp.net> | 2008-09-23 21:23:19 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-23 21:23:19 -0700 |
commit | 96ca4a2cc1454cf633a1e0796b7ef39d937b87ec (patch) | |
tree | 9031c5040ab0dadb3f2c5eb39ec9a4ffd1b53c2d /net/core | |
parent | d87798450a7635ab1bcc80271a13ce4a53b016a9 (diff) | |
download | linux-3.10-96ca4a2cc1454cf633a1e0796b7ef39d937b87ec.tar.gz linux-3.10-96ca4a2cc1454cf633a1e0796b7ef39d937b87ec.tar.bz2 linux-3.10-96ca4a2cc1454cf633a1e0796b7ef39d937b87ec.zip |
net: remove ifalias on empty given alias
This patch removes the potentially allocated ifalias when the (new) given alias is empty.
E.g. when setting
echo "" > /sys/class/net/eth0/ifalias
Signed-off-by: Oliver Hartkopp <oliver@hartkopp.net>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index e9139053399..a90737fe247 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -967,6 +967,14 @@ int dev_set_alias(struct net_device *dev, const char *alias, size_t len) if (len >= IFALIASZ) return -EINVAL; + if (!len) { + if (dev->ifalias) { + kfree(dev->ifalias); + dev->ifalias = NULL; + } + return 0; + } + dev->ifalias = krealloc(dev->ifalias, len+1, GFP_KERNEL); if (!dev->ifalias) return -ENOMEM; |