Message ID | 4F72D02F.6090907@iogearbox.net |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Daniel Borkmann <danborkmann@iogearbox.net> Date: Wed, 28 Mar 2012 10:47:43 +0200 > If both addresses equal, nothing needs to be done. If the device is down, > then we simply copy the new address to dev->dev_addr. If the device is up, > then we add another loopback device with the new address, and if that does > not fail, we remove the loopback device with the old address. And only > then, we update the dev->dev_addr. > > Signed-off-by: Daniel Borkmann <daniel.borkmann@tik.ee.ethz.ch> Applied and queued up for -stable. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/rose/rose_dev.c b/net/rose/rose_dev.c index 178ff4f..2679507 100644 --- a/net/rose/rose_dev.c +++ b/net/rose/rose_dev.c @@ -96,11 +96,11 @@ static int rose_set_mac_address(struct net_device *dev, void *addr) struct sockaddr *sa = addr; int err; - if (!memcpy(dev->dev_addr, sa->sa_data, dev->addr_len)) + if (!memcmp(dev->dev_addr, sa->sa_data, dev->addr_len)) return 0; if (dev->flags & IFF_UP) { - err = rose_add_loopback_node((rose_address *)dev->dev_addr); + err = rose_add_loopback_node((rose_address *)sa->sa_data); if (err) return err;