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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C4EE7CD13D2 for ; Thu, 30 Apr 2026 21:14:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=k+QEyLA2zsDdT/0roSpzzYdaOPYnw1TI3oD1YR/ibyc=; b=WcgBz4+3Vt1cZh eJCpZoeH0IZj8c41sabOmXUsxs6bUZm4pM+fgNQneIjob9n4VazlX87CdRHyABVyGWKbf6RKUo8Kw VN7l8ljqqPB83L1SeJnPlywv1dKRzmrcl38crzcCK3ZmgupOzxt2VvQ4gpc25UJgGMVH8KcbBsHmL AkOKS/MMYXFdIzNyrNQ+AoDNlkpzYl/gqVofbmXl6zCceZCR1oByTYUKF334yF1ODFPXVc8ZJclFO 7COJZWJcI91eqF5T/LM3sIlexf512i0hij+uTkKzS5LupYgoTD/Xkc1fFPitEhr8HG9wRBiQCbVdf 6kbeuOp4sdO638Jm+YtA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1wIYi2-00000005x5O-1Zyk; Thu, 30 Apr 2026 21:14:10 +0000 Received: from mail-westus3azon11011036.outbound.protection.outlook.com ([40.107.208.36] helo=PH0PR06CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1wIYhy-00000005x45-2Jc6 for linux-riscv@lists.infradead.org; Thu, 30 Apr 2026 21:14:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O4kUaqbNDgf13jrH0qLbRTJ9UDJoxYwzwBkPeUggAGesJlIzlqbnpqWk+V8mPdKnPtFbhYTS7rliptEunoa6zICh6IthOx5asQo4ZM0LPf94JqiWcpTX2Ln1Rk5u+zaUAmHNPoBw2BKynxrU5bGKgX8Awn8mbCkBbIHfLYM0VRQFT7e4yVOJJxjZV++lTH81Gd/BE8/zT/gv1n5FF+Im/MXmmOgLu+OUdkHWfT5XE6ZKqib6zb8pfwrdbEg9BQHbUdzYlJsHIXyYKbb7nLs7IrnwDylalTIIoRxErJgJrWlMkEfACFBVW1OuvVyXqosbknM1lLPASKThOgh+yvgn1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BX18IKY6Ec8zxy3Kj2X+Pof7LVTX7pmE0onNUt3V+OU=; b=grt3dPtk6CC6jg/QWkQ2afPatfELWiRcK1pFmNvz/RV2d+V4jRnpz9BwSFoKSmR9v/dwYBWNS4wAPdujoSi8PF10w4IeW9FXkgL+HyNXeV7xsGoO2M+Y83y/ZnUF8ZbHwJF+xNoYrZL982sqNlYqRR9TB9MAlG05z3vpaiLiORPaLc50EnOBE7Ci1neWMsoz7Rnqd63AYxzCPyaKesg5Sm2SHjTbb2Nwt+kNC5he63OBcJaOZOgW0qJfFAdMwreybKxILm3RtQz2Lvt6UskisZJLNpmMbFDnv/B8mRCwaGsQAbM1JLRRh3Te9vGFNFcXNRtG/K4HDP75NusvXARSSg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BX18IKY6Ec8zxy3Kj2X+Pof7LVTX7pmE0onNUt3V+OU=; b=CKqsOcAw4dBw72JQ6wMkOVxw1XqDYgjHnCWSZZgac2939pMqG2FlOuveiT8TNQJe5WexRCg1QiBCBNEhf9Ep47Ne9rLqxOtvNPmuQXPAUTFLnzw5Z3I+wZFnZMM+mjsV8LCEklL6SGN9WeIWcQsLjpGPlqUPW2zgEPHg8a1zEMMPGndhUh8ER59Ad6QJNSSKyYjI9YQgUjS6qUdthHdnN7+WL8ohBeF8+xoQgiiXYY0B0N2ZNyklhjeMHdMX8Xz9iQLYJfFH7yBFV/fWHZDJloR3Z99kie3xAEfeOF1xYrx5eDgE3TA0OCzHzi2kSd6IECpirqF5riUqAg6TTluCJw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CY8PR12MB8300.namprd12.prod.outlook.com (2603:10b6:930:7d::16) by DM4PR12MB6256.namprd12.prod.outlook.com (2603:10b6:8:a3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr 2026 21:13:58 +0000 Received: from CY8PR12MB8300.namprd12.prod.outlook.com ([fe80::ce75:8187:3ac3:c5de]) by CY8PR12MB8300.namprd12.prod.outlook.com ([fe80::ce75:8187:3ac3:c5de%3]) with mapi id 15.20.9870.020; Thu, 30 Apr 2026 21:13:58 +0000 From: Yury Norov To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Yury Norov , Rasmus Villemoes , Arnd Bergmann , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Morton , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Stanislav Fomichev , Jinjie Ruan , linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-arch@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org Cc: Yury Norov , Nathan Chancellor Subject: [PATCH 1/6] lib: include crc32.h conditionally on CONFIG_CRC32 Date: Thu, 30 Apr 2026 17:13:45 -0400 Message-ID: <20260430211351.658193-2-ynorov@nvidia.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260430211351.658193-1-ynorov@nvidia.com> References: <20260430211351.658193-1-ynorov@nvidia.com> X-ClientProxiedBy: SJ0PR05CA0163.namprd05.prod.outlook.com (2603:10b6:a03:339::18) To CY8PR12MB8300.namprd12.prod.outlook.com (2603:10b6:930:7d::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR12MB8300:EE_|DM4PR12MB6256:EE_ X-MS-Office365-Filtering-Correlation-Id: 1df29fdf-3d5b-47f8-2447-08dea6fd64c2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|10070799003|366016|18002099003|22082099003|56012099003|921020; X-Microsoft-Antispam-Message-Info: 4NT2RlD+voJPmPr6LAUh7W9dbWXWEeJ3NySnmFK5xrgpHk+0xwLQZoMDvD7hJOXesc71tt0VAV5CeQvBpUhdWARlPJ5P7j0MLOrZJ+hEzV4Wbh5ED9/w0KTx36wdcf7duBM43c2PQmesgZb/VLqNDA1xOEgJCT5hVwZ+ct+yw30GFsmYUvkIrG1gUm0q0wkDlJYHKxUauaEqw+sUlOhY63ViCaA0j2viTzJ4vI3m/1VGNW+T5OmkoASzZYEe4yjRpQHHXN+US2UAgOshokf/acHxCTw0VmomyWf3jW/2xJaMfUwnh4LbKo9gEQ0KU2j9GezKaOd6wqacxVhi5qTFbmRVxqziVRNVe1//bojYHW5Q1o0FhvEnu78JsxmeArIPoFaBofrbTQt8aekRQkD4/yu5Ra1zIB0HtAF0DMphFFVvnxVmL6Uih/jwxM8uMlj8vRWEtJEXKH+Z6z+um664nc1s8ndAyivE0YYz5lmBe2nTgPtkw89AI8nG/MmRj/JKOP973dNNWO6DWFS7CDdCOdM5Shej/AQhbLDxs5QMEVstuHocyg2zBOz0wUAXEinueVgb2caVdPogv6wsLVjeg0UnQW+65KVkBqVGXRU6p7DmVM19KkrHW+SsbQhqfJ5nSuuMFz1XcWTWR7ecJxFwyXwSalLzbzwagmrEd6kzPrSSVSiNHfHEp32Wk07LvkLnvJSnvZXErop3jr8VA5BmD8LaH7cwYyGYShbkF+Cf75o= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR12MB8300.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(10070799003)(366016)(18002099003)(22082099003)(56012099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KHTdN9/HbgU3gjwirwZw94As/R0vG03uIm+Z9NJt0P6ONUscdhSvpL6Y0W0O?= =?us-ascii?Q?S2DKUG7tEzCTzjk6pVgvi4n8ea6F0plxaKo+Fpoh15XTz18HtwoShsgaarKk?= =?us-ascii?Q?TYXu3aWMFpVhvytAhTyoM1yAprIrT39xbuSA6h5XmWAeFkr//K+abtpIBQKb?= =?us-ascii?Q?MHXa0x7ddpnEN23l5LF7eClQBnEH5fDBrOTs/FIzhGqMeimQw5vZgsgWnsaB?= =?us-ascii?Q?arpe/eq+t6Pcnsy8R+WrefGVQOQG40Ik49AngCgaNvbMV3fm1ZQzJF/DAxbu?= =?us-ascii?Q?zjJT54sCk7CyZ8Z37TLZeAIsmiWa02Wufh55a8QmkNaCEb1SfKnMF6zdtQ0E?= =?us-ascii?Q?4WpCYDfsYPuiQR4v+I/0gAAL+y4zrTjGrssdvPLaBzpCAZy9OHVuuYZUjTLu?= =?us-ascii?Q?gUwJEgQuKLQcKimMujn905kh1XedldznKMdfhBPVNJkkhRJaUfyElLlskulq?= =?us-ascii?Q?BuHZNnDNVBGoyOb8IF/oDfE2400/ESTIhix8wcGggoDWmR8FirFHa5nyYUKE?= =?us-ascii?Q?KMnEwv1brIjJP4oRemRvkLR8KP/cWoMUcS6VAQNegq77VjEcAs/TJdeWP3ws?= =?us-ascii?Q?HFTcklMZBkm1AmZriYC2obXB6Q2wkjj2Kr+FbPX9k8yepvPQMMpdVX2hxKpb?= =?us-ascii?Q?gYsaveH6hnhcY+TmFEgfrPrHhWeeOGpF4JCPWzsi3duMGue+2W7hX+xgg9Bu?= =?us-ascii?Q?Nv1g5xljK64dpnofz6ZwPqMXplQMh3Juffz0US2hSxIx8AZ9VZBfFOX5UORF?= =?us-ascii?Q?tG3PKseD3LqAe2RmZrVDKxlGfQWdubF/6c12x5KtOvmAjBUdjUFaiymId3gc?= =?us-ascii?Q?hgVm404LmaE2KVLWGhX56KJGeBUGQnLHWskmlPfy18lPYc8xmH3Zznerb++v?= =?us-ascii?Q?MUhcnTsfGl2m8m8zEBARBk2e/wyKb566k+VjNjeUzGPHpPZmoq07/t9g768c?= =?us-ascii?Q?NEazH9FZBCKMtglEU4BLxbnJVWhNU0rlcpELzg9wTNIgEmnOnpZN/pDwWiYJ?= =?us-ascii?Q?jDH2znm6rsrecUXd73sXOZdlJSgtr3rlLz9l9q9TKT4YV/KoxCHvBYX/f9vg?= =?us-ascii?Q?VCsaYMLjoMon+WVxz6oB6fxoYtGhbvq7q5udHIfBEoyqkOx6JCh4C4Igt4+l?= =?us-ascii?Q?pf90eYWEx82994cpOx3RbfEvVlvGKKQt1uHAkV4lYU/MwPF9ZChOIEb+Ssqx?= =?us-ascii?Q?woTEnpjWdt/5jZvWNQVNyekc/njI3S24p1BPYXSw4BLRiVhXCaKGL5InsFRp?= =?us-ascii?Q?7y2FxBUO9go3f2efTp5zEn0tw6KCml3GBY1bpbEIjI0kVOa0B//U0gnnVkib?= =?us-ascii?Q?Ofyrb36/AiLfyvmG0e4DRh5YgATlziMgz+REgvel1eVQmc1zpRk8USB6QUv9?= =?us-ascii?Q?AsWA/w2wDWVBwXhPVZOZY2QAG2MeUdOpE2EPny/FaS5xscIu0zVXcrSoAO/9?= =?us-ascii?Q?JcIWhpEEWvviIEB4HVZirfbLsSllmHm5tR1XMNvIV7CrRy0cW7SbbQfEocCN?= =?us-ascii?Q?kdoLPxw8CqPw0jrpglC1zc7z+bv5vz7VS8tD5m7Lp4/UVVCBSJ/N9DkxcPNS?= =?us-ascii?Q?0RioBeIjLdTa0TWdLsMeLTn+XZMYmbuZnPFbjAhEWr/GqbTSydi35NxqNVS7?= =?us-ascii?Q?udivivXiga3sQ6d+yW/XvQiSCwmvnhPavHCcoeOLgYnvIULnbVyeJfCbLsJz?= =?us-ascii?Q?JcjtqhJogUVbr8DIm0bKEebIP8ZUWl+TyhCssZP6vyusNPFrHxCWam8Wjzc6?= =?us-ascii?Q?rF56DWwpN0jmi6IG8NbMtuLXjzgFX0mPi1yto4Hr39odctXuZUQt?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1df29fdf-3d5b-47f8-2447-08dea6fd64c2 X-MS-Exchange-CrossTenant-AuthSource: CY8PR12MB8300.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 21:13:58.3457 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HwwCQtMAXsLlptAKPKt+FAViSZ7g2KGLsTxL7MKWigjwmxpH0c75J0JeIV0tEJDc4aUuxTFBy0WvfdU7y9W7Bg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6256 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260430_141406_594591_D8897493 X-CRM114-Status: GOOD ( 13.01 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org Currently, bitreverse API is either declared based on CONFIG_HAVE_ARCH_BITREVERSE, wired to arch implementation, or if the arch has no bitreverse, based on generic implementation. So, regardless of CONFIG_BITREVERSE=n, the corresponding API is always declared. If that happens, the functions become declared but not implemented, which is an error. The following patches of the series make it possible to have bitreverse API undeclared if CONFIG_BITREVERSE=n, thus spotting the problem when building the tinyconfig: $ make -skj"$(nproc)" ARCH=s390 CROSS_COMPILE=s390-linux- mrproper tinyconfig fs/select.o In file included from include/linux/crc32.h:6, from include/linux/etherdevice.h:23, from include/linux/if_vlan.h:11, from include/linux/filter.h:21, from include/net/xdp.h:10, from include/net/busy_poll.h:19, from fs/select.c:33: include/linux/etherdevice.h: In function 'eth_hw_addr_crc': include/linux/bitrev.h:16:20: error: implicit declaration of function 'generic___bitrev32' [-Wimplicit-function-declaration] 16 | #define __bitrev32 generic___bitrev32 | ^~~~~~~~~~~~~~~~~~ include/linux/bitrev.h:67:9: note: in expansion of macro '__bitrev32' 67 | __bitrev32(__x); \ | ^~~~~~~~~~ include/linux/crc32.h:107:36: note: in expansion of macro 'bitrev32' 107 | #define ether_crc(length, data) bitrev32(crc32_le(~0, data, length)) | ^~~~~~~~ include/linux/etherdevice.h:292:16: note: in expansion of macro 'ether_crc' 292 | return ether_crc(ETH_ALEN, ha->addr); | ^~~~~~~~~ make[5]: *** [scripts/Makefile.build:289: fs/select.o] Error 1 ... The current unconditionally enabled codebase doesn't use CRC32, neither bitrev functionality, and if generic___bitrev32 prototype is provided, the compilation and linkage phases are passed OK. The only header requiring the crc32 and bitreverse prototypes is include/linux/etherdevice.h. Thus, protect inclusion of corresponding headers in the etherdevice with CONFIG_CRC32, together with the only function depending on it. Reported-by: Nathan Chancellor Signed-off-by: Yury Norov --- include/linux/etherdevice.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index df8f88f63a70..d35be27a91a5 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h @@ -20,7 +20,9 @@ #include #include #include +#ifdef CONFIG_CRC32 #include +#endif #include #include @@ -281,6 +283,7 @@ static inline void eth_hw_addr_random(struct net_device *dev) dev->addr_assign_type = NET_ADDR_RANDOM; } +#ifdef CONFIG_CRC32 /** * eth_hw_addr_crc - Calculate CRC from netdev_hw_addr * @ha: pointer to hardware address @@ -291,6 +294,7 @@ static inline u32 eth_hw_addr_crc(struct netdev_hw_addr *ha) { return ether_crc(ETH_ALEN, ha->addr); } +#endif /** * ether_addr_copy - Copy an Ethernet address -- 2.51.0 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv