svn commit: r218966 - head/sys/vm

Bruce Evans brde at optusnet.com.au
Sun Feb 27 12:12:16 UTC 2011


On Sun, 27 Feb 2011, Bruce Cran wrote:

> On Thu, 2011-02-24 at 10:36 +1100, Bruce Evans wrote:
>>
>> I would cast operand(s) in the expression as necessary to prevent overflow
>> of subexpressions.  vm_pindex_t would work, but I prefer to use a type
>> related to the subexpressions.  Not sure what that is.  Maybe just
>> uintmax_t for safety (even that is not safe if the subexpressions have
>> large values).  So:
>>
>>      (uintmax_t)swap_bcount * SWAP_META_PAGES * n / mumble.
>
> Following Alan's suggestion, I've attached an updated patch which uses a
> cast to u_long and returns long.

I thought he only meant to return long.  The units being returned are
PAGE_SIZE smaller than the units in the expression.  But I don't know
exacty how large swp_bcount can be.  If everything fits in a single
object, then vm_size_t = u_int on 32-bit machines is enough.

Bruce


More information about the svn-src-all mailing list