sglist_alloc accepts an int argument to specify the number of segments
in the sglist. The sglist struct however stores this value in a u_short,
which may wrap in the case of larger sglists. This happens when the
NVIDIA driver performs large allocations, as reported by a user.
This changes updates the use of u_short to a u_int to match the arg
passed into sglist_alloc. The sglist init and save locations are also
updated to no longer use shorts to represent nseg.
PR: 299611
Sponsored by: NVIDIA