summaryrefslogtreecommitdiff
path: root/drivers/peci
diff options
context:
space:
mode:
authorZev Weiss <zev@bewilderbeest.net>2020-09-27 00:27:33 +0300
committerJae Hyun Yoo <jae.hyun.yoo@linux.intel.com>2021-11-05 10:22:05 +0300
commiteebcddb204d19684c857d4a59dbdf028de8be6fd (patch)
treeaa7eee467e19c6ec35f358b709d8ae9ad12824e0 /drivers/peci
parent20e85b9e4e39879eb902152ece00ed7c8c71bdad (diff)
downloadlinux-eebcddb204d19684c857d4a59dbdf028de8be6fd.tar.xz
peci: fix error-handling in peci_dev_ioctl()
peci_get_xfer_msg() returns NULL on failure, not an ERR_PTR. Also avoid calling kfree() on an ERR_PTR. Fixes: 90ddc4e972b5 ("peci: Add support for PECI bus driver core") Signed-off-by: Zev Weiss <zev@bewilderbeest.net> Reviewed-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Link: https://lore.kernel.org/r/20200926212734.23836-2-zev@bewilderbeest.net
Diffstat (limited to 'drivers/peci')
-rw-r--r--drivers/peci/peci-dev.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/peci/peci-dev.c b/drivers/peci/peci-dev.c
index c574d13213af..8104468864bf 100644
--- a/drivers/peci/peci-dev.c
+++ b/drivers/peci/peci-dev.c
@@ -122,8 +122,8 @@ static long peci_dev_ioctl(struct file *file, uint iocmd, ulong arg)
}
xmsg = peci_get_xfer_msg(uxmsg.tx_len, uxmsg.rx_len);
- if (IS_ERR(xmsg)) {
- ret = PTR_ERR(xmsg);
+ if (!xmsg) {
+ ret = -ENOMEM;
break;
}
@@ -172,7 +172,8 @@ static long peci_dev_ioctl(struct file *file, uint iocmd, ulong arg)
}
peci_put_xfer_msg(xmsg);
- kfree(msg);
+ if (!IS_ERR(msg))
+ kfree(msg);
return (long)ret;
}