include/asm-generic/simd.h | 1 + 1 file changed, 1 insertion(+)
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@loongson.cn>
---
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>
/*
--
2.47.1
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@loongson.cn>
Tested-by: Guenter Roeck <linux@roeck-us.net>
> ---
> 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>
>
> /*
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@loongson.cn>
> ---
> include/asm-generic/simd.h | 1 +
> 1 file changed, 1 insertion(+)
Patch applied. Thanks.
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
© 2016 - 2026 Red Hat, Inc.