From: sashiko-bot@kernel.org
To: "Yury Norov" <ynorov@nvidia.com>
Cc: bpf@vger.kernel.org
Subject: Re: [PATCH 1/6] lib: include crc32.h conditionally on CONFIG_CRC32
Date: Fri, 01 May 2026 21:15:31 +0000 [thread overview]
Message-ID: <20260501211531.F0811C2BCB4@smtp.kernel.org> (raw)
In-Reply-To: <20260430211351.658193-2-ynorov@nvidia.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Using `#ifdef CONFIG_CRC32` breaks the build for modular drivers that rely on `eth_hw_addr_crc()`.
--
commit 734658b27c8ae06b58089e30d3e39cd61c7d09d6
Author: Yury Norov <ynorov@nvidia.com>
lib: include crc32.h conditionally on CONFIG_CRC32
This commit restricts the inclusion of crc32.h and the definition of
eth_hw_addr_crc() in etherdevice.h to only when CONFIG_CRC32 is enabled.
This fixes implicit declaration errors when building tinyconfig where
CONFIG_BITREVERSE=n.
> diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h
> index df8f88f63a706..d35be27a91a55 100644
> --- a/include/linux/etherdevice.h
> +++ b/include/linux/etherdevice.h
> @@ -20,7 +20,9 @@
> #include <linux/if_ether.h>
> #include <linux/netdevice.h>
> #include <linux/random.h>
> +#ifdef CONFIG_CRC32
> #include <linux/crc32.h>
> +#endif
Will this break the build for modular drivers?
CONFIG_CRC32 is a tristate option. When it is configured as a module (=m), the
build system defines CONFIG_CRC32_MODULE but not CONFIG_CRC32. Thus, the
preprocessor check evaluates to false.
Should this use #if IS_ENABLED(CONFIG_CRC32) instead to support both
built-in and modular configurations?
[ ... ]
> @@ -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
If CONFIG_CRC32 is built as a module, will modular network drivers that call
eth_hw_addr_crc() fail to compile due to an implicit declaration error since
this definition is hidden?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260430211351.658193-1-ynorov@nvidia.com?part=1
next prev parent reply other threads:[~2026-05-01 21:15 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-30 21:13 [PATCH 0/6] lib: rework bitreverse Yury Norov
2026-04-30 21:13 ` Yury Norov
2026-04-30 21:13 ` [PATCH 1/6] lib: include crc32.h conditionally on CONFIG_CRC32 Yury Norov
2026-04-30 21:13 ` Yury Norov
2026-05-01 21:15 ` sashiko-bot [this message]
2026-05-04 8:03 ` Arnd Bergmann
2026-05-04 8:03 ` Arnd Bergmann
2026-05-04 12:43 ` David Laight
2026-05-04 12:43 ` David Laight
2026-05-04 16:46 ` Yury Norov
2026-05-04 16:46 ` Yury Norov
2026-05-04 17:18 ` Arnd Bergmann
2026-05-04 17:18 ` Arnd Bergmann
2026-05-04 18:32 ` Yury Norov
2026-05-04 18:32 ` Yury Norov
2026-05-04 19:05 ` Arnd Bergmann
2026-05-04 19:05 ` Arnd Bergmann
2026-05-05 19:03 ` Yury Norov
2026-05-05 19:03 ` Yury Norov
2026-05-06 6:30 ` Eric Biggers
2026-05-06 6:30 ` Eric Biggers
2026-04-30 21:13 ` [PATCH 2/6] lib/bitrev: Introduce GENERIC_BITREVERSE and cleanup Kconfig Yury Norov
2026-04-30 21:13 ` Yury Norov
2026-05-01 21:15 ` sashiko-bot
2026-04-30 21:13 ` [PATCH 3/6] bitops: Define generic __bitrev8/16/32 for reuse Yury Norov
2026-04-30 21:13 ` Yury Norov
2026-05-01 21:15 ` sashiko-bot
2026-04-30 21:13 ` [PATCH 4/6] arch/riscv: Add bitrev.h file to support rev8 and brev8 Yury Norov
2026-04-30 21:13 ` Yury Norov
2026-05-01 21:15 ` sashiko-bot
2026-04-30 21:13 ` [PATCH 5/6] lib: compile generic bitrev.c conditionally on GENERIC_BITREVERSE Yury Norov
2026-04-30 21:13 ` Yury Norov
2026-05-01 21:15 ` sashiko-bot
2026-04-30 21:13 ` [PATCH 6/6] MAINTAINERS: BITOPS: include bitrev.[ch] Yury Norov
2026-04-30 21:13 ` Yury Norov
2026-05-02 1:40 ` [PATCH 0/6] lib: rework bitreverse Yury Norov
2026-05-02 1:40 ` Yury Norov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260501211531.F0811C2BCB4@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=sashiko@lists.linux.dev \
--cc=ynorov@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.