From fc27935e9f32189e010b7e992232072b5ec9a5d2 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 31 Oct 2025 07:58:33 +0000 Subject: [PATCH] Revert "net: rtnetlink: add bulk delete support flag" This reverts commit 2b0d1dc340ba84535279c94de493595be24bf0c0 which is commit a6cec0bcd34264be8887791594be793b3f12719f upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: I8cc1e6be45fdc9d34a8cd5972d5e3a16a94a9825 Signed-off-by: Greg Kroah-Hartman --- include/net/rtnetlink.h | 3 +-- net/core/rtnetlink.c | 8 -------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h index 9f63d8ae2b20..fb4ccfdebae0 100644 --- a/include/net/rtnetlink.h +++ b/include/net/rtnetlink.h @@ -10,8 +10,7 @@ typedef int (*rtnl_doit_func)(struct sk_buff *, struct nlmsghdr *, typedef int (*rtnl_dumpit_func)(struct sk_buff *, struct netlink_callback *); enum rtnl_link_flags { - RTNL_FLAG_DOIT_UNLOCKED = BIT(0), - RTNL_FLAG_BULK_DEL_SUPPORTED = BIT(1), + RTNL_FLAG_DOIT_UNLOCKED = BIT(0), }; enum rtnl_kinds { diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index c4b33a2ecac2..b41f31a09a7c 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -214,8 +214,6 @@ static int rtnl_register_internal(struct module *owner, if (dumpit) link->dumpit = dumpit; - WARN_ON(rtnl_msgtype_kind(msgtype) != RTNL_KIND_DEL && - (flags & RTNL_FLAG_BULK_DEL_SUPPORTED)); link->flags |= flags; /* publish protocol:msgtype */ @@ -5276,12 +5274,6 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, } flags = link->flags; - if (kind == RTNL_KIND_DEL && (nlh->nlmsg_flags & NLM_F_BULK) && - !(flags & RTNL_FLAG_BULK_DEL_SUPPORTED)) { - NL_SET_ERR_MSG(extack, "Bulk delete is not supported"); - goto err_unlock; - } - if (flags & RTNL_FLAG_DOIT_UNLOCKED) { doit = link->doit; rcu_read_unlock();