rtnetlink: propagate error from dev_change_flags in do_setlink() Andreas Henriksson reported that unlike ifconfig, iproute doesn't report an error when setting an interface up fails. Propagate the return value from dev_change_flags() to fix this. Signed-off-by: Patrick McHardy diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index a9a7721..ffde766 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -867,7 +867,9 @@ static int do_setlink(struct net_device *dev, struct ifinfomsg *ifm, if (ifm->ifi_change) flags = (flags & ifm->ifi_change) | (dev->flags & ~ifm->ifi_change); - dev_change_flags(dev, flags); + err = dev_change_flags(dev, flags); + if (err < 0) + goto errout; } if (tb[IFLA_TXQLEN])