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]
Date:   Thu, 21 Feb 2019 20:13:40 +0100
From:   Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To:     "Mehrtens, Hauke" <hauke.mehrtens@...el.com>
Cc:     "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "stable@...r.kernel.org" <stable@...r.kernel.org>,
        "David S. Miller" <davem@...emloft.net>,
        "hauke@...ke-m.de" <hauke@...ke-m.de>
Subject: Re: [PATCH 4.9 04/20] net: Fix for_each_netdev_feature on Big endian

On Thu, Feb 21, 2019 at 05:26:10PM +0000, Mehrtens, Hauke wrote:
> -----Original Message-----
> From: Greg Kroah-Hartman [mailto:gregkh@...uxfoundation.org] 
> Sent: Thursday, February 21, 2019 3:36 PM
> To: linux-kernel@...r.kernel.org
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>; stable@...r.kernel.org; Mehrtens, Hauke <hauke.mehrtens@...el.com>; David S. Miller <davem@...emloft.net>
> Subject: [PATCH 4.9 04/20] net: Fix for_each_netdev_feature on Big endian
> 
> 4.9-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Hauke Mehrtens <hauke.mehrtens@...el.com>
> 
> [ Upstream commit 3b89ea9c5902acccdbbdec307c85edd1bf52515e ]
> 
> The features attribute is of type u64 and stored in the native endianes on the system. The for_each_set_bit() macro takes a pointer to a 32 bit array and goes over the bits in this area. On little Endian systems this also works with an u64 as the most significant bit is on the highest address, but on big endian the words are swapped. When we expect bit 15 here we get bit 47 (15 + 32).
> 
> This patch converts it more or less to its own for_each_set_bit() implementation which works on 64 bit integers directly. This is then completely in host endianness and should work like expected.
> 
> Fixes: fd867d51f ("net/core: generic support for disabling netdev features down stack")
> Signed-off-by: Hauke Mehrtens <hauke.mehrtens@...el.com>
> Signed-off-by: David S. Miller <davem@...emloft.net>
> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> ---
>  include/linux/netdev_features.h |   23 +++++++++++++++++++++--
>  net/core/dev.c                  |    4 ++--
>  2 files changed, 23 insertions(+), 4 deletions(-)
> 
> Hi Greg,
> 
> This commit adds a missing include, I do not know if this really causes a compile problem:
> https://git.kernel.org/linus/8681ef1f3d295bd3600315325f3b3396d76d02f6

I have that patch queued up as well :)

> It was also suggested to use a longer commit ID in the Fixes tag like this:
> Fixes: fd867d51f889 ("net/core: generic support for disabling netdev features down stack")

Yes, in the future please do that, I just took the changelog directly
from what is in Linus's tree.

thanks,

greg k-h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ