Re: [PATCH v2 08/12] lib/crc_kunit.c: add KUnit test suite for CRC library functions

From: Guenter Roeck
Date: Sun Mar 23 2025 - 12:19:15 EST


On 3/23/25 08:35, Ard Biesheuvel wrote:
[ ... ]
kernel_neon_end() calls local_bh_enable() which apparently conflicts with
the local_irq_disable() in above code.


This seems to be an oversight on my part. Can you try the below please?

diff --git a/arch/arm/include/asm/simd.h b/arch/arm/include/asm/simd.h
index 82191dbd7e78..56ddbd3c4997 100644
--- a/arch/arm/include/asm/simd.h
+++ b/arch/arm/include/asm/simd.h
@@ -4,5 +4,6 @@

static __must_check inline bool may_use_simd(void)
{
- return IS_ENABLED(CONFIG_KERNEL_MODE_NEON) && !in_hardirq();
+ return IS_ENABLED(CONFIG_KERNEL_MODE_NEON) &&
+ !in_hardirq() && !irqs_disabled();
}

Yes, that fixes the problem.

Thanks,
Guenter