unsigned int is only 4-byte long and "4" is treated as int. The shift
would overflow.
Use unsigned long type, calculate the bits to shift before shifting
instead of shifting twice.
Caught by clang compilation test.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
xc_interface *xch = dom->xch;
uint32_t domid = dom->guest_domid;
unsigned long idx;
- unsigned int first_high_idx = (4 << 30) >> PAGE_SHIFT; /* 4GB */
+ unsigned long first_high_idx = 4UL << (30 - PAGE_SHIFT); /* 4GB */
for ( ; num_pages; num_pages--, extents++ )
{