From mboxrd@z Thu Jan 1 00:00:00 1970 From: yakui.zhao@intel.com (Zhao, Yakui) Date: Tue, 20 Aug 2019 10:23:14 +0800 Subject: [RFC PATCH 15/15] drivers/acrn: add the support of offline SOS cpu In-Reply-To: <20190819103417.GD4451@kadam> References: <1565922356-4488-1-git-send-email-yakui.zhao@intel.com> <1565922356-4488-16-git-send-email-yakui.zhao@intel.com> <20190819103417.GD4451@kadam> Message-ID: <18360e11-22af-8f14-21ad-3fa0e8d23210@intel.com> List-Id: Linux Driver Project Developer List On 2019?08?19? 18:34, Dan Carpenter wrote: > On Fri, Aug 16, 2019@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; > Thanks for the review. Make sense. The error code will be preserved. > 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. > OK. It will add the check of "cpu < num_possibles_cpu()" to avoid the out of bounds. > regards, > dan carpenter >