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

From: Sui Jingfeng
Date: Tue May 23 2023 - 04:14:35 EST


Hi,

On 2023/5/23 12:26, Sui Jingfeng wrote:
Hi,

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 sure about this,

Here, I'm NOT sure about this


but there are plenty unsigned types arithmetic in the kernel.

take kmalloc_array() function as an example in /tools/virto/linux/kernel.h


static inline void *kmalloc_array(unsigned n, size_t s, gfp_t gfp)
{
    return kmalloc(n * s, gfp);
}


NOTE that *size_t* is an unsigned integral data type.