6f181a80f8
The compiler seems to assume it's a 32-bit integral and rounding to the page size using the standard expression (((u_long)(x) + mask) & ~mask), results in a 32-bit value. Dropping the 'U' suffix is enough to have the compiler treat the expression as a 64-bit integral.