Fixes "panic: vm_radix_reserve_kva: unable to reserve KVA" on 64-bit architecture
caused by sign extension of "pages * UMA_SLAB_SIZE" value passed to kva_alloc()
which takes unsigned long argument.
In the erroneus case that triggered this bug, the number of pages
to allocate in uma_zone_reserve_kva() was 0x8ebe6, that gave the
total number of bytes to allocate equal to 0x8ebe6000 (int).
This was then sign extended in kva_alloc() to 0xffffffff8ebe6000
(unsigned long).
Reviewed by:
Submitted by:
Obtained from: Semihalf
Sponsored by: The FreeBSD Foundation
Differential Revision: