diff options
author | Zev Weiss <zev@bewilderbeest.net> | 2020-09-27 00:27:33 +0300 |
---|---|---|
committer | Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> | 2021-11-05 10:22:05 +0300 |
commit | eebcddb204d19684c857d4a59dbdf028de8be6fd (patch) | |
tree | aa7eee467e19c6ec35f358b709d8ae9ad12824e0 /drivers/peci | |
parent | 20e85b9e4e39879eb902152ece00ed7c8c71bdad (diff) | |
download | linux-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.c | 7 |
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; } |