Re: [PATCH] rtc: 88pm80x: fix unintended sign extension

From: Alexandre Belloni
Date: Thu Feb 07 2019 - 15:53:40 EST


On 06/02/2019 10:08:11+0000, Colin King wrote:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> Shifting a u8 by 24 will cause the value to be promoted to an integer. If
> the top bit of the u8 is set then the following conversion to an unsigned
> long will sign extend the value causing the upper 32 bits to be set in
> the result.
>
> Fix this by casting the u8 value to an unsigned long before the shift.
>
> Detected by CoverityScan, CID#714646-714649 ("Unintended sign extension")
>
> Fixes: 2985c29c1964 ("rtc: Add rtc support to 88PM80X PMIC")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
> drivers/rtc/rtc-88pm80x.c | 21 ++++++++++++++-------
> 1 file changed, 14 insertions(+), 7 deletions(-)
>
Applied, thanks.

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com