summaryrefslogtreecommitdiffstats
path: root/drivers/xen
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2019-03-07 06:41:22 +0100
committerJuergen Gross <jgross@suse.com>2019-03-08 17:58:14 +0100
commit201676095dda7e5b31a5e1d116d10fc22985075e (patch)
tree813e414ea824d48f18cf89c805fba00dd7831fb8 /drivers/xen
parentxen: remove pre-xen3 fallback handlers (diff)
downloadlinux-201676095dda7e5b31a5e1d116d10fc22985075e.tar.xz
linux-201676095dda7e5b31a5e1d116d10fc22985075e.zip
xen, cpu_hotplug: Prevent an out of bounds access
The "cpu" variable comes from the sscanf() so Smatch marks it as untrusted data. We can't pass a higher value than "nr_cpu_ids" to cpu_possible() or it results in an out of bounds access. Fixes: d68d82afd4c8 ("xen: implement CPU hotplugging") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Juergen Gross <jgross@suse.com> Signed-off-by: Juergen Gross <jgross@suse.com>
Diffstat (limited to 'drivers/xen')
-rw-r--r--drivers/xen/cpu_hotplug.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/xen/cpu_hotplug.c b/drivers/xen/cpu_hotplug.c
index b1357aa4bc55..f192b6f42da9 100644
--- a/drivers/xen/cpu_hotplug.c
+++ b/drivers/xen/cpu_hotplug.c
@@ -54,7 +54,7 @@ static int vcpu_online(unsigned int cpu)
}
static void vcpu_hotplug(unsigned int cpu)
{
- if (!cpu_possible(cpu))
+ if (cpu >= nr_cpu_ids || !cpu_possible(cpu))
return;
switch (vcpu_online(cpu)) {