This is a note to let you know that I've just added the patch titled Revert "net: rtnetlink: Enslave device before bringing it up" to the 6.6-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: revert-net-rtnetlink-enslave-device-before-bringing-it-up.patch and it can be found in the queue-6.6 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From ec4ffd100ffb396eca13ebe7d18938ea80f399c3 Mon Sep 17 00:00:00 2001 From: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon, 8 Jan 2024 10:41:02 +0100 Subject: Revert "net: rtnetlink: Enslave device before bringing it up" From: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> commit ec4ffd100ffb396eca13ebe7d18938ea80f399c3 upstream. This reverts commit a4abfa627c3865c37e036bccb681619a50d3d93c. The patch broke: > ip link set dummy0 up > ip link set dummy0 master bond0 down This last command is useful to be able to enslave an interface with only one netlink message. After discussion, there is no good reason to support: > ip link set dummy0 down > ip link set dummy0 master bond0 up because the bond interface already set the slave up when it is up. Cc: stable@xxxxxxxxxxxxxxx Fixes: a4abfa627c38 ("net: rtnetlink: Enslave device before bringing it up") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxx> Reviewed-by: Hangbin Liu <liuhangbin@xxxxxxxxx> Link: https://lore.kernel.org/r/20240108094103.2001224-2-nicolas.dichtel@xxxxxxxxx Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- net/core/rtnetlink.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -2869,13 +2869,6 @@ static int do_setlink(const struct sk_bu call_netdevice_notifiers(NETDEV_CHANGEADDR, dev); } - if (tb[IFLA_MASTER]) { - err = do_set_master(dev, nla_get_u32(tb[IFLA_MASTER]), extack); - if (err) - goto errout; - status |= DO_SETLINK_MODIFIED; - } - if (ifm->ifi_flags || ifm->ifi_change) { err = dev_change_flags(dev, rtnl_dev_combine_flags(dev, ifm), extack); @@ -2883,6 +2876,13 @@ static int do_setlink(const struct sk_bu goto errout; } + if (tb[IFLA_MASTER]) { + err = do_set_master(dev, nla_get_u32(tb[IFLA_MASTER]), extack); + if (err) + goto errout; + status |= DO_SETLINK_MODIFIED; + } + if (tb[IFLA_CARRIER]) { err = dev_change_carrier(dev, nla_get_u8(tb[IFLA_CARRIER])); if (err) Patches currently in stable-queue which might be from nicolas.dichtel@xxxxxxxxx are queue-6.6/revert-net-rtnetlink-enslave-device-before-bringing-it-up.patch