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

From: David Howells
Date: Wed Apr 11 2018 - 09:39:34 EST


Colin King <colin.king@xxxxxxxxxxxxx> 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.

David