Re: [PATCH] MIPS: cpu-features: Use boot_cpu_type for CPU type based features

From: Thomas Bogendoerfer
Date: Fri Jun 09 2023 - 05:25:47 EST


On Wed, Jun 07, 2023 at 01:51:22PM +0800, Jiaxun Yang wrote:
> Some CPU feature macros were using current_cpu_type to mark feature
> availability.
>
> However current_cpu_type will use smp_processor_id, which is prohibited
> under preemptable context.
>
> Since those features are all uniform on all CPUs in a SMP system, use
> boot_cpu_type instead of current_cpu_type to fix preemptable kernel.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
> ---
> arch/mips/include/asm/cpu-features.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h
> index 2a0b90077b50..8c6d4a87db37 100644
> --- a/arch/mips/include/asm/cpu-features.h
> +++ b/arch/mips/include/asm/cpu-features.h
> @@ -125,7 +125,7 @@
> ({ \
> int __res; \
> \
> - switch (current_cpu_type()) { \
> + switch (boot_cpu_type()) { \
> case CPU_CAVIUM_OCTEON: \
> case CPU_CAVIUM_OCTEON_PLUS: \
> case CPU_CAVIUM_OCTEON2: \
> @@ -373,7 +373,7 @@
> ({ \
> int __res; \
> \
> - switch (current_cpu_type()) { \
> + switch (boot_cpu_type()) { \
> case CPU_M14KC: \
> case CPU_74K: \
> case CPU_1074K: \
> --
> 2.39.2 (Apple Git-143)

applied to mips-next.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]