aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2018-01-03 00:35:23 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2018-01-03 00:35:23 +0100
commit18065bee38a0430d503b52ed7a3492adc9e530d2 (patch)
treec7166465e745e3d073bf07b578bff73cd28394a8
parentLinux 4.15-rc6 (diff)
parentPM / devfreq: Fix potential NULL pointer dereference in governor_store (diff)
downloadwireguard-linux-18065bee38a0430d503b52ed7a3492adc9e530d2.tar.xz
wireguard-linux-18065bee38a0430d503b52ed7a3492adc9e530d2.zip
Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq into pm-devfreq
Pull devfreq updates for v4.16 from MyungJoo Ham * 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq: PM / devfreq: Fix potential NULL pointer dereference in governor_store PM / devfreq: Propagate error from devfreq_add_device()
-rw-r--r--drivers/devfreq/devfreq.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index 78fb496ecb4e..fe2af6aa88fc 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -737,7 +737,7 @@ struct devfreq *devm_devfreq_add_device(struct device *dev,
devfreq = devfreq_add_device(dev, profile, governor_name, data);
if (IS_ERR(devfreq)) {
devres_free(ptr);
- return ERR_PTR(-ENOMEM);
+ return devfreq;
}
*ptr = devfreq;
@@ -996,7 +996,8 @@ static ssize_t governor_store(struct device *dev, struct device_attribute *attr,
if (df->governor == governor) {
ret = 0;
goto out;
- } else if (df->governor->immutable || governor->immutable) {
+ } else if ((df->governor && df->governor->immutable) ||
+ governor->immutable) {
ret = -EINVAL;
goto out;
}