|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] cpupool: fix removing cpu from a cpupool
commit 498d73647fa17d9eb7a67d2e9bdccac6b438e559
Author: Juergen Gross <jgross@xxxxxxxx>
AuthorDate: Fri May 8 10:44:22 2020 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri May 8 10:44:22 2020 +0200
cpupool: fix removing cpu from a cpupool
Commit cb563d7665f2 ("xen/sched: support core scheduling for moving
cpus to/from cpupools") introduced a regression when trying to remove
an offline cpu from a cpupool, as the system would crash in this
situation.
Fix that by testing the cpu to be online.
Fixes: cb563d7665f2 ("xen/sched: support core scheduling for moving cpus
to/from cpupools")
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
Acked-by: Dario Faggioli <dfaggioli@xxxxxxxx>
---
xen/common/sched/cpupool.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c
index 97c2d5b3c1..0664f7fa3d 100644
--- a/xen/common/sched/cpupool.c
+++ b/xen/common/sched/cpupool.c
@@ -552,6 +552,9 @@ static int cpupool_unassign_cpu(struct cpupool *c, unsigned
int cpu)
debugtrace_printk("cpupool_unassign_cpu(pool=%d,cpu=%d)\n",
c->cpupool_id, cpu);
+ if ( !cpu_online(cpu) )
+ return -EINVAL;
+
master_cpu = sched_get_resource_cpu(cpu);
ret = cpupool_unassign_cpu_start(c, master_cpu);
if ( ret )
--
generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |