Re: Linux 4.14.324

From: Boris Ostrovsky
Date: Mon Oct 09 2023 - 11:37:56 EST


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;a=summary
>
...
>
> 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