Re: [PATCH] asm-generic: Add sched.h inclusion in simd.h

From: Guenter Roeck
Date: Tue Jun 03 2025 - 01:44:42 EST


On Fri, May 30, 2025 at 12:16:58PM +0800, Huacai Chen wrote:
> Commit 7ba8df47810f073 ("asm-generic: Make simd.h more resilient")
> causes a build error for PREEMPT_RT kernels:
>
> CC lib/crypto/sha256.o
> In file included from ./include/asm-generic/simd.h:6,
> from ./arch/loongarch/include/generated/asm/simd.h:1,
> from ./include/crypto/internal/simd.h:9,
> from ./include/crypto/internal/sha2.h:6,
> from lib/crypto/sha256.c:15:
> ./include/asm-generic/simd.h: In function 'may_use_simd':
> ./include/linux/preempt.h:111:34: error: 'current' undeclared (first use in this function)
> 111 | # define softirq_count() (current->softirq_disable_cnt & SOFTIRQ_MASK)
> | ^~~~~~~
> ./include/linux/preempt.h:112:82: note: in expansion of macro 'softirq_count'
> 112 | # define irq_count() ((preempt_count() & (NMI_MASK | HARDIRQ_MASK)) | softirq_count())
> | ^~~~~~~~~~~~~
> ./include/linux/preempt.h:143:34: note: in expansion of macro 'irq_count'
> 143 | #define in_interrupt() (irq_count())
> | ^~~~~~~~~
> ./include/asm-generic/simd.h:18:17: note: in expansion of macro 'in_interrupt'
> 18 | return !in_interrupt();
> | ^~~~~~~~~~~~
>
> So add sched.h inclusion in simd.h to fix it.
>
> Fixes: 7ba8df47810f073 ("asm-generic: Make simd.h more resilient")
> Signed-off-by: Huacai Chen <chenhuacai@xxxxxxxxxxx>

Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>

> ---
> include/asm-generic/simd.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/asm-generic/simd.h b/include/asm-generic/simd.h
> index ac29a22eb7cf..70c8716ad32a 100644
> --- a/include/asm-generic/simd.h
> +++ b/include/asm-generic/simd.h
> @@ -4,6 +4,7 @@
>
> #include <linux/compiler_attributes.h>
> #include <linux/preempt.h>
> +#include <linux/sched.h>
> #include <linux/types.h>
>
> /*