• M
    macvlan: return correct error value · 2ef6e0fe
    Matteo Croce 提交于
    [ Upstream commit 59f997b088d26a774958cb7b17b0763cd82de7ec ]
    
    A MAC address must be unique among all the macvlan devices with the same
    lower device. The only exception is the passthru [sic] mode,
    which shares the lower device address.
    
    When duplicate addresses are detected, EBUSY is returned when bringing
    the interface up:
    
        # ip link add macvlan0 link eth0 type macvlan
        # read addr </sys/class/net/eth0/address
        # ip link set macvlan0 address $addr
        # ip link set macvlan0 up
        RTNETLINK answers: Device or resource busy
    
    Use correct error code which is EADDRINUSE, and do the check also
    earlier, on address change:
    
        # ip link set macvlan0 address $addr
        RTNETLINK answers: Address already in use
    Signed-off-by: NMatteo Croce <mcroce@redhat.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    2ef6e0fe
macvlan.c 43.7 KB