Re: [PATCH v2 2/2] arch/riscv: Add bitrev.h file to support rev8 and brev8

From: Yury Norov

Date: Thu Apr 16 2026 - 20:34:51 EST


On Thu, Apr 16, 2026 at 04:14:41PM -0700, Nathan Chancellor wrote:
> On Wed, Apr 15, 2026 at 05:38:27PM +0800, Jinjie Ruan wrote:
> > The RISC-V Bit-manipulation Extension for Cryptography (Zbkb) provides

...

> > +static __always_inline __attribute_const__ u32 __arch_bitrev32(u32 x)
> > +{
> > + unsigned long result = x;
> > +
> > + if (!riscv_has_extension_likely(RISCV_ISA_EXT_ZBKB))
> > + return generic___bitrev32(x);

Hi Nathan,

> This breaks the build when CONFIG_HAVE_ARCH_BITREVERSE is set because
> generic___bitrev32() ultimately calls generic___bitrev8(), which uses
> byte_rev_table but that is only included in lib/bitrev.c when
> CONFIG_HAVE_ARCH_BITREVERSE is not set. How was this tested? This seems
> a pretty basic build problem that has showed up in a variety of
> configurations (at least all the configurations that our CI tests).
>
> $ make -skj"$(nproc)" ARCH=riscv CROSS_COMPILE=riscv64-linux- mrproper defconfig all
> ERROR: modpost: "byte_rev_table" [lib/zlib_deflate/zlib_deflate.ko] undefined!
> ERROR: modpost: "byte_rev_table" [drivers/net/ethernet/spacemit/k1_emac.ko] undefined!
> ERROR: modpost: "byte_rev_table" [drivers/net/ethernet/stmicro/stmmac/stmmac.ko] undefined!
>
> https://github.com/ClangBuiltLinux/continuous-integration2/actions/runs/24529356842
> https://lore.kernel.org/177635154368.6552.7060101263009785041@8692ffc4d55e/

> Yury, are you intending to send this series to Linus in the 7.1 merge
> window?

No, I'm already done with this merge window. This is the material for
the next one, if ever.

Just as said, I added this one for testing. I am so far have no feedback
from robots. But your report is enough to drop it.

> If not, it shouldn't be in -next at this point.

What for do we need -next, if not for early testing?

Thanks,
Yury