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

Jiaxun Yang posted 1 patch 2 years, 8 months ago
arch/mips/include/asm/cpu-features.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] MIPS: cpu-features: Use boot_cpu_type for CPU type based features
Posted by Jiaxun Yang 2 years, 8 months ago
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@vger.kernel.org
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
 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)
Re: [PATCH] MIPS: cpu-features: Use boot_cpu_type for CPU type based features
Posted by Thomas Bogendoerfer 2 years, 8 months ago
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@vger.kernel.org
> Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
> ---
>  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 ]