[PATCH][next] afs: fix integer overflow when shifting 1 more than 32 places

Colin Ian King colin.king at canonical.com
Wed Apr 11 06:42:47 PDT 2018


On 11/04/18 14:39, David Howells wrote:
> Colin King <colin.king at canonical.com> wrote:
> 
>> Shifting 1 (a 32 bit signed int) more than 32 places will overflow
>> the int, so explicitly use 1ULL to avoid this overflow.
>> ...
>> -	mask = (1 << nr_slots) - 1;
>> +	mask = (1ULL << nr_slots) - 1;
> 
> nr_slots cannot be larger than 9, so what I wrote is actually fine and is more
> efficient on a 32-bit machine.

ok, sorry about the noise.

> 
> David
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 




More information about the linux-afs mailing list