From: Dan Carpenter Date: Mon, 10 Jul 2017 07:21:40 +0000 (+0300) Subject: PM / QoS: return -EINVAL for bogus strings X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2ca30331c156ca9e97643ad05dd8930b8fe78b01;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git PM / QoS: return -EINVAL for bogus strings In the current code, if the user accidentally writes a bogus command to this sysfs file, then we set the latency tolerance to an uninitialized variable. Fixes: 2d984ad132a8 (PM / QoS: Introcuce latency tolerance device PM QoS type) Signed-off-by: Dan Carpenter Acked-by: Pavel Machek Cc: 3.15+ # 3.15+ Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/base/power/sysfs.c b/drivers/base/power/sysfs.c index 185a52581cfa..156ab57bca77 100644 --- a/drivers/base/power/sysfs.c +++ b/drivers/base/power/sysfs.c @@ -272,6 +272,8 @@ static ssize_t pm_qos_latency_tolerance_store(struct device *dev, value = PM_QOS_LATENCY_TOLERANCE_NO_CONSTRAINT; else if (!strcmp(buf, "any") || !strcmp(buf, "any\n")) value = PM_QOS_LATENCY_ANY; + else + return -EINVAL; } ret = dev_pm_qos_update_user_latency_tolerance(dev, value); return ret < 0 ? ret : n;