From: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxx> Date: Fri, 15 Feb 2019 17:58:54 +0100 > 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") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxx> Applied and queued up for -stable. Please do not CC: stable for networking fixes, I handle -stable submissions myself manually and this is documented in the netdev FAQ.