aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-11-07 10:13:10 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2016-11-07 10:13:10 -0800
commit8cebec469b8b42359a2dcf9715bf74c49a755f6d (patch)
treeaebbd254a5f197160ceff369b4fa1981308e94d0
parentc1f4c2b28c11f6d042d15100b36a4ebba07c48b2 (diff)
parent38d8ed65092ed22f52a95f397855cace0260e110 (diff)
downloadlinux-8cebec469b8b42359a2dcf9715bf74c49a755f6d.tar.gz
Merge tag 'hwmon-for-linus-v4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon fix from Guenter Roeck: "Fix resource leak on devm_kcalloc failure" * tag 'hwmon-for-linus-v4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (core) fix resource leak on devm_kcalloc failure
-rw-r--r--drivers/hwmon/hwmon.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
index adae6848ffb231..a74c075a30ec49 100644
--- a/drivers/hwmon/hwmon.c
+++ b/drivers/hwmon/hwmon.c
@@ -536,8 +536,10 @@ __hwmon_device_register(struct device *dev, const char *name, void *drvdata,
hwdev->groups = devm_kcalloc(dev, ngroups, sizeof(*groups),
GFP_KERNEL);
- if (!hwdev->groups)
- return ERR_PTR(-ENOMEM);
+ if (!hwdev->groups) {
+ err = -ENOMEM;
+ goto free_hwmon;
+ }
attrs = __hwmon_create_attrs(dev, drvdata, chip);
if (IS_ERR(attrs)) {