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

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


On 06/02/2019 09:50:53+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#144925-144928 ("Unintended sign extension")
>
> Fixes: 008b30408c40 ("mfd: Add rtc support to 88pm860x")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
> drivers/rtc/rtc-88pm860x.c | 21 ++++++++++++++-------
> 1 file changed, 14 insertions(+), 7 deletions(-)
>
Applied, thanks.

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