Re: [PATCH] rtc: rtc-ds1672: fix unintended sign extension

From: Alexandre Belloni
Date: Tue Feb 05 2019 - 16:59:56 EST


On 05/02/2019 18:04:49+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#138801 ("Unintended sign extension")
>
> Fixes: edf1aaa31fc5 ("[PATCH] RTC subsystem: DS1672 driver")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
> drivers/rtc/rtc-ds1672.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
Applied, thanks.

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