From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0DCD8C10F00 for ; Sat, 16 Feb 2019 21:01:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CE38E222A3 for ; Sat, 16 Feb 2019 21:01:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dhAzpP7d" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733230AbfBPVBe (ORCPT ); Sat, 16 Feb 2019 16:01:34 -0500 Received: from mail-yb1-f194.google.com ([209.85.219.194]:34624 "EHLO mail-yb1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728734AbfBPVBd (ORCPT ); Sat, 16 Feb 2019 16:01:33 -0500 Received: by mail-yb1-f194.google.com with SMTP id j62so5295123ybb.1; Sat, 16 Feb 2019 13:01:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=ULOjm3j7vcOQ8879fto2IMrjh1pJV3PIJvoJkE5AMFw=; b=dhAzpP7d2hqEvee4NH/GXsS7xGWFJiSRivB7AIK1SvfpIJvgdFyAF/rYKD4sobdtNH ac0vEaCK+NglcJ8y4bTXOHXGjbQu6CWNhd7EXcPIfSEBZsYpwLo91ak5Tv2NKLrMq9Lr K+77McEnfXKeRq8PeAW/xuWuabWn+siizCprVtdjx+KZOz6oT28TmWTag/l4KZdcm9wY r8r+I/ZzGEwQQ0W7QBMCO0yH6uDHRmj7xUH1QPDnugJvz66OstrXfOwlGGv4Yj185kYY /AFrWKXEVtOHQFR3cazJii2bnAsS21fjmjO4+AEbEaiz5YGfRUwuTvdZSLGAiw3f/PU6 emRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=ULOjm3j7vcOQ8879fto2IMrjh1pJV3PIJvoJkE5AMFw=; b=ttavOQls98BRkkJu7M+/ZynsPWriv3fQ+kP9Di+dDUCW7lt3amCFiyvmm6A0yw7r+g LsjLh7QghMDi3/bLaEuyG+tsuOVOoM4arYrSIC0DV5F/Afb8BNJTuXsMxwFZ0pIS7wFz +2iMnmAQ/8BBKLHFB9H1Psi4ENlcpLn6tNeqkG+ulvMb0b/go4kPKvouYnoSAaFLMPct ccwaVA/AOL42BJooF0IbnR6VilTyyHLnr1hcs0qflKhknkD8+eyNgNjtGFqZnZRHwcmd Kzn6jqPGedOJmt+fyD82OPmDHs379XggrQYLFe3loglW2uIjogXIXyLcbLTFcp2Tozmz H7Iw== X-Gm-Message-State: AHQUAuaElCo2sYdGODuvVdN8SoxFAwjpsToFHO5OR7/FDy1ljpVkAFSg oEkuUKH1fY21jMi0JGLhOaZ5cdXJ X-Google-Smtp-Source: AHgI3IYPqApLmFv68FJxsc0yLfFBS3B3W5vfCfcv4bz2MVctoRZZoks/SiSy0UrAuNiKAfpFrIxRlw== X-Received: by 2002:a25:6046:: with SMTP id u67mr13521427ybb.191.1550350892620; Sat, 16 Feb 2019 13:01:32 -0800 (PST) Received: from [192.168.86.235] (c-73-241-150-70.hsd1.ca.comcast.net. [73.241.150.70]) by smtp.gmail.com with ESMTPSA id l143sm3380873ywb.27.2019.02.16.13.01.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 16 Feb 2019 13:01:30 -0800 (PST) Subject: Re: [PATCH] net: Fix for_each_netdev_feature on Big endian To: David Miller , hauke.mehrtens@intel.com Cc: netdev@vger.kernel.org, jarod@redhat.com, hauke@hauke-m.de, stable@vger.kernel.org References: <20190215165854.25842-1-hauke.mehrtens@intel.com> <20190215.202453.382883236911745765.davem@davemloft.net> From: Eric Dumazet Message-ID: <8e03f4cb-11e2-9e85-ed5e-019da79b3806@gmail.com> Date: Sat, 16 Feb 2019 13:01:28 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190215.202453.382883236911745765.davem@davemloft.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 02/15/2019 08:24 PM, David Miller wrote: > From: Hauke Mehrtens > 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@vger.kernel.org >> Signed-off-by: Hauke Mehrtens > > 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. > This commit added a call to fls64(), but not the needed include. This might break some uses I think. I suggest the following fix : diff --git a/include/linux/netdev_features.h b/include/linux/netdev_features.h index c50cedb65cf56fe7d722a5a321b714ed83f449a0..d3f61011f4346e4ea80b61f88bd24541dd006014 100644 --- a/include/linux/netdev_features.h +++ b/include/linux/netdev_features.h @@ -11,6 +11,7 @@ #define _LINUX_NETDEV_FEATURES_H #include +#include #include typedef u64 netdev_features_t;