On Thu, Feb 21, 2019 at 05:26:10PM +0000, Mehrtens, Hauke wrote:
> -----Original Message-----
> From: Greg Kroah-Hartman [mailto:[email protected]]
> Sent: Thursday, February 21, 2019 3:36 PM
> To: [email protected]
> Cc: Greg Kroah-Hartman <[email protected]>; [email protected];
> Mehrtens, Hauke <[email protected]>; David S. Miller
> <[email protected]>
> 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 <[email protected]>
>
> [ 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 <[email protected]>
> Signed-off-by: David S. Miller <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> ---
> 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