Re: [RFC PATCH 15/15] drivers/acrn: add the support of offline SOS cpu

From: Dan Carpenter
Date: Mon Aug 19 2019 - 06:34:34 EST


On Fri, Aug 16, 2019 at 10:25:56AM +0800, Zhao Yakui wrote:
> diff --git a/drivers/staging/acrn/acrn_dev.c b/drivers/staging/acrn/acrn_dev.c
> index 0602125..6868003 100644
> --- a/drivers/staging/acrn/acrn_dev.c
> +++ b/drivers/staging/acrn/acrn_dev.c
> @@ -588,6 +588,41 @@ static const struct file_operations fops = {
> #define SUPPORT_HV_API_VERSION_MAJOR 1
> #define SUPPORT_HV_API_VERSION_MINOR 0
>
> +static ssize_t
> +offline_cpu_store(struct device *dev,
> + struct device_attribute *attr,
> + const char *buf, size_t count)
> +{
> +#ifdef CONFIG_X86
> + u64 cpu, lapicid;
> +
> + if (kstrtoull(buf, 0, &cpu) < 0)
> + return -EINVAL;

Preserve the error code.

ret = kstrtoull(buf, 0, &cpu);
if (ret)
return ret;

> +
> + if (cpu_possible(cpu)) {

You can't pass unchecked cpu values to cpu_possible() or it results in
an out of bounds read if cpu is >= than nr_cpu_ids.

regards,
dan carpenter