[openib-general] [PATCH] Avoid truncating to 'long' in ALIGN() macro

David Miller davem at davemloft.net
Fri Nov 24 22:07:46 PST 2006


From: Roland Dreier <rdreier at cisco.com>
Date: Fri, 24 Nov 2006 21:40:14 -0800

> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index 24b6111..cc542d3 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -31,7 +31,7 @@ #define ULLONG_MAX	(~0ULL)
>  #define STACK_MAGIC	0xdeadbeef
>  
>  #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
> -#define ALIGN(x,a) (((x)+(a)-1UL)&~((a)-1UL))
> +#define ALIGN(x,a) (((x)+(a)-1L)&~((a)-1L))

Perhaps a better way to fix this is to use
typeof() like other similar macros do.




More information about the general mailing list