[PATCH v3 kvmtool 02/13] sizes.h: Make all sizes 64bit

Andre Przywara andre.przywara at arm.com
Mon May 30 08:05:17 PDT 2022


On Wed, 25 May 2022 12:23:34 +0100
Alexandru Elisei <alexandru.elisei at arm.com> wrote:

Hi,

> Append ULL to all of the size definitions to make them 64bit and avoid
> overflows.

I am not fully convinced this is the best solution, as it deviates from
the kernel file, and just papers over issues at the call sites. I
acknowledge the pragmatic approach of trying to fix multiple problems at
once, but am wondering if we should use -fsanitize=undefined to identify
problematic code and fix it (I started doing this, actually).

Cheers,
Andre

> Reported-by: Andre Przywara <andre.przywara at arm.com>
> Signed-off-by: Alexandru Elisei <alexandru.elisei at arm.com>
> ---
>  include/linux/sizes.h | 64 +++++++++++++++++++++----------------------
>  1 file changed, 32 insertions(+), 32 deletions(-)
> 
> diff --git a/include/linux/sizes.h b/include/linux/sizes.h
> index ce3e8150c174..b2b5c457cf1c 100644
> --- a/include/linux/sizes.h
> +++ b/include/linux/sizes.h
> @@ -8,40 +8,40 @@
>  #ifndef __LINUX_SIZES_H__
>  #define __LINUX_SIZES_H__
>  
> -#define SZ_1				0x00000001
> -#define SZ_2				0x00000002
> -#define SZ_4				0x00000004
> -#define SZ_8				0x00000008
> -#define SZ_16				0x00000010
> -#define SZ_32				0x00000020
> -#define SZ_64				0x00000040
> -#define SZ_128				0x00000080
> -#define SZ_256				0x00000100
> -#define SZ_512				0x00000200
> +#define SZ_1				0x00000001ULL
> +#define SZ_2				0x00000002ULL
> +#define SZ_4				0x00000004ULL
> +#define SZ_8				0x00000008ULL
> +#define SZ_16				0x00000010ULL
> +#define SZ_32				0x00000020ULL
> +#define SZ_64				0x00000040ULL
> +#define SZ_128				0x00000080ULL
> +#define SZ_256				0x00000100ULL
> +#define SZ_512				0x00000200ULL
>  
> -#define SZ_1K				0x00000400
> -#define SZ_2K				0x00000800
> -#define SZ_4K				0x00001000
> -#define SZ_8K				0x00002000
> -#define SZ_16K				0x00004000
> -#define SZ_32K				0x00008000
> -#define SZ_64K				0x00010000
> -#define SZ_128K				0x00020000
> -#define SZ_256K				0x00040000
> -#define SZ_512K				0x00080000
> +#define SZ_1K				0x00000400ULL
> +#define SZ_2K				0x00000800ULL
> +#define SZ_4K				0x00001000ULL
> +#define SZ_8K				0x00002000ULL
> +#define SZ_16K				0x00004000ULL
> +#define SZ_32K				0x00008000ULL
> +#define SZ_64K				0x00010000ULL
> +#define SZ_128K				0x00020000ULL
> +#define SZ_256K				0x00040000ULL
> +#define SZ_512K				0x00080000ULL
>  
> -#define SZ_1M				0x00100000
> -#define SZ_2M				0x00200000
> -#define SZ_4M				0x00400000
> -#define SZ_8M				0x00800000
> -#define SZ_16M				0x01000000
> -#define SZ_32M				0x02000000
> -#define SZ_64M				0x04000000
> -#define SZ_128M				0x08000000
> -#define SZ_256M				0x10000000
> -#define SZ_512M				0x20000000
> +#define SZ_1M				0x00100000ULL
> +#define SZ_2M				0x00200000ULL
> +#define SZ_4M				0x00400000ULL
> +#define SZ_8M				0x00800000ULL
> +#define SZ_16M				0x01000000ULL
> +#define SZ_32M				0x02000000ULL
> +#define SZ_64M				0x04000000ULL
> +#define SZ_128M				0x08000000ULL
> +#define SZ_256M				0x10000000ULL
> +#define SZ_512M				0x20000000ULL
>  
> -#define SZ_1G				0x40000000
> -#define SZ_2G				0x80000000
> +#define SZ_1G				0x40000000ULL
> +#define SZ_2G				0x80000000ULL
>  
>  #endif /* __LINUX_SIZES_H__ */




More information about the linux-arm-kernel mailing list