[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <22812c03-1b64-4e1c-b260-cddc14ea3e8f@roeck-us.net>
Date: Sun, 23 Mar 2025 09:18:58 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Ard Biesheuvel <ardb@...nel.org>
Cc: Eric Biggers <ebiggers@...nel.org>, linux-kernel@...r.kernel.org,
linux-arch@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-crypto@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org, x86@...nel.org,
Zhihang Shao <zhihang.shao.iscas@...il.com>,
Vinicius Peixoto <vpeixoto@...amp.dev>,
"Martin K. Petersen" <martin.petersen@...cle.com>
Subject: Re: [PATCH v2 08/12] lib/crc_kunit.c: add KUnit test suite for CRC
library functions
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
Powered by blists - more mailing lists