lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZSQeA8fhUT++iZvz@ostr-mac>
Date:   Mon, 9 Oct 2023 11:36:35 -0400
From:   Boris Ostrovsky <boris.ostrovsky@...cle.com>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:     linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
        torvalds@...ux-foundation.org, stable@...r.kernel.org, lwn@....net,
        jslaby@...e.cz
Subject: Re: Linux 4.14.324

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


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ