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

From: Zhao, Yakui
Date: Mon Aug 19 2019 - 22:30:18 EST




On 2019å08æ19æ 18:34, Dan Carpenter wrote:
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;


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