[PATCH] cpu/hotplug: check the return value of idle_thread_get

From: Chao Liu
Date: Wed May 18 2022 - 04:29:36 EST


ilde may be ERR_PTR()

Signed-off-by: Chao Liu <liuchao173@xxxxxxxxxx>
---
kernel/cpu.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/kernel/cpu.c b/kernel/cpu.c
index d0a9aa0b42e8..8ddf372e8d29 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -590,6 +590,9 @@ static int bringup_cpu(unsigned int cpu)
struct task_struct *idle = idle_thread_get(cpu);
int ret;

+ if (IS_ERR(idle))
+ return PTR_ERR(idle);
+
/*
* Reset stale stack state from the last time this CPU was online.
*/
@@ -614,7 +617,12 @@ static int bringup_cpu(unsigned int cpu)
static int finish_cpu(unsigned int cpu)
{
struct task_struct *idle = idle_thread_get(cpu);
- struct mm_struct *mm = idle->active_mm;
+ struct mm_struct *mm = NULL;
+
+ if (IS_ERR(idle))
+ return PTR_ERR(idle);
+
+ mm = idle->active_mm;

/*
* idle_task_exit() will have switched to &init_mm, now
--
2.23.0