Skip to content

Commit

Permalink
xen, cpu_hotplug: Prevent an out of bounds access
Browse files Browse the repository at this point in the history
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: d68d82a ("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>
  • Loading branch information
Dan Carpenter authored and Juergen Gross committed Mar 8, 2019
1 parent b1ddd40 commit 2016760
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/xen/cpu_hotplug.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down

0 comments on commit 2016760

Please sign in to comment.