lkml.org 
[lkml]   [2018]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.4 067/162] macvlan: Do not return error when setting the same mac address
    Date
    From: Vlad Yasevich <vyasevich@gmail.com>

    [ Upstream commit e26f43faa0d79dd06e9e94829696b68b9940c2ee ]

    The user currently gets an EBUSY error when attempting to set
    the mac address on a macvlan device to the same value.

    This should really be a no-op as nothing changes. Catch
    the condition and return early.

    Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    drivers/net/macvlan.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
    index 9897cabec371..c0d143df4c79 100644
    --- a/drivers/net/macvlan.c
    +++ b/drivers/net/macvlan.c
    @@ -693,6 +693,10 @@ static int macvlan_set_mac_address(struct net_device *dev, void *p)
    if (!is_valid_ether_addr(addr->sa_data))
    return -EADDRNOTAVAIL;

    + /* If the addresses are the same, this is a no-op */
    + if (ether_addr_equal(dev->dev_addr, addr->sa_data))
    + return 0;
    +
    if (vlan->mode == MACVLAN_MODE_PASSTHRU) {
    dev_set_mac_address(vlan->lowerdev, addr);
    return 0;
    --
    2.15.1
    \
     
     \ /
      Last update: 2018-04-09 03:26    [W:2.329 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site