From: Tomas Winkler Date: Wed, 11 Jul 2018 12:29:32 +0000 (+0300) Subject: mei: bus: type promotion bug in mei_fwver() X-Git-Tag: for-linus-20180825~49^2~121 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=cf1ed2c59b982d892b7c4d25b3dea2421cc5aa08;p=linux-block.git mei: bus: type promotion bug in mei_fwver() if __mei_cl_recv() returns a negative then "bytes_recv" type is promoted to a high positive value in comparison with size_t evaluated by MKHI_FWVER_LEN(1). It results in error condition not to be detected. Cc: Dan Carpenter Fixes: 9078ad92ef86 ("mei: expose fw version to sysfs") Signed-off-by: Tomas Winkler Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/misc/mei/bus-fixup.c b/drivers/misc/mei/bus-fixup.c index 65e28be3c8cc..4c232f0eae90 100644 --- a/drivers/misc/mei/bus-fixup.c +++ b/drivers/misc/mei/bus-fixup.c @@ -181,7 +181,7 @@ static int mei_fwver(struct mei_cl_device *cldev) ret = 0; bytes_recv = __mei_cl_recv(cldev->cl, buf, sizeof(buf), 0, MKHI_RCV_TIMEOUT); - if (bytes_recv < MKHI_FWVER_LEN(1)) { + if (bytes_recv < 0 || bytes_recv < MKHI_FWVER_LEN(1)) { /* * Should be at least one version block, * error out if nothing found