[PATCH] drm/drm_vblank.c: avoid unsigned int to signed int cast

Sui Jingfeng 15330273260 at 189.cn
Tue May 23 09:55:39 UTC 2023


Hi,

On 2023/5/23 16:50, David Laight wrote:
> From: 15330273260 at 189.cn <15330273260 at 189.cn>
>> Sent: 23 May 2023 05:27
>>
>> On 2023/5/22 19:29, Jani Nikula wrote:
>>> In general, do not use unsigned types in arithmethic to avoid negative
>>> values, because most people will be tripped over by integer promotion
>>> rules, and you'll get negative values anyway.
>>
>> Here I'm not sure about this,
>>
>> but there are plenty unsigned types arithmetic in the kernel.
> The real problem is (attempted) arithmetic on types smaller than int.
> Regardless of whether they are signed or unsigned.

It is about sign extend.

Yes, you may be right. I might create a wrong patch.

But this will not happen in practice, because in general case:

mode->crtc_htotal < 0x8fff;

mode->crtc_vtotal < 0x8fff;

u16 gets promoted to 'signed int' not 'unsigned int'.

Sorry  :/

> 	David
>
> -
> Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
> Registration No: 1397386 (Wales)


More information about the dri-devel mailing list