On Wed, Aug 30, 2023 at 05:02:37PM +0200, Greg Kroah-Hartman wrote:
I'm announcing the release of the 4.14.324 kernel.
All users of the 4.14 kernel series must upgrade.
The updated 4.14.y git tree can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.14.y and can be browsed at the normal kernel.org git web browser: https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git%3Ba=summa...
...
Ido Schimmel (1): rtnetlink: Reject negative ifindexes in RTM_NEWLINK
The above commit (69197b2 rtnetlink: Reject negative ifindexes in RTM_NEWLINK) appears to has been applied icorrectly, causing some regressions (like attaching a VF to a running guest). The change needs to be made in rtnl_newlink(), not rtnl_setlink().
I didn't check all other branches but at least 5.4 looks OK.
I believe 69197b2 needs to be reverted and instead this applied:
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index a76f3024..f4b98f7 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -2547,9 +2547,12 @@ static int rtnl_newlink(struct sk_buff *skb, struct nlmsghdr *nlh, ifname[0] = '\0';
ifm = nlmsg_data(nlh); - if (ifm->ifi_index > 0) + if (ifm->ifi_index > 0) { dev = __dev_get_by_index(net, ifm->ifi_index); - else { + } else if (ifm->ifi_index < 0) { + NL_SET_ERR_MSG(extack, "ifindex can't be negative"); + return -EINVAL; + } else { if (ifname[0]) dev = __dev_get_by_name(net, ifname); else