diff --git a/[refs] b/[refs] index da76e1de59b3..82e99545f6b9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 47dffc7547ed3b105dabd570ed864347687beac2 +refs/heads/master: 7364e445f62825758fa61195d237a5b8ecdd06ec diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index f91abf800161..a39354ee1432 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -1055,6 +1055,8 @@ int dev_change_name(struct net_device *dev, const char *newname) */ int dev_set_alias(struct net_device *dev, const char *alias, size_t len) { + char *new_ifalias; + ASSERT_RTNL(); if (len >= IFALIASZ) @@ -1068,9 +1070,10 @@ int dev_set_alias(struct net_device *dev, const char *alias, size_t len) return 0; } - dev->ifalias = krealloc(dev->ifalias, len + 1, GFP_KERNEL); - if (!dev->ifalias) + new_ifalias = krealloc(dev->ifalias, len + 1, GFP_KERNEL); + if (!new_ifalias) return -ENOMEM; + dev->ifalias = new_ifalias; strlcpy(dev->ifalias, alias, len+1); return len;