[PATCH] arm64: avoid overflow in VA_START and PAGE_OFFSET
Nick Desaulniers
ndesaulniers at google.com
Thu Aug 3 10:53:12 PDT 2017
> Would
>
> #define VA_START (UL(0xffffffffffffffff) - (1 << VA_BITS) + 1)
>
> also work?
I think you'd have to wrap the 1 in a UL(), ex:
#define VA_START (UL(0xffffffffffffffff) - (UL(1) << VA_BITS) + 1)
Otherwise IIUC a integral literal (`1`) is treated as an int, which on
arm64 is LP64 making it 32b, where most configs set VA_BITS
to larger than 32b. Shifting by more than the width is undefined
behavior. And without it, I get compile errors.
I'll send v2 with your suggestion, thanks.
--
Thanks,
~Nick Desaulniers
More information about the linux-arm-kernel
mailing list