All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.