From: Willem de Bruijn > Sent: 17 August 2017 00:27 > Actually, it is safe even without the check. Overflow of the signed integer > is benign here.
IIRC the C language states that 'signed integer overflow' is undefined. So 'MAXINT + 1' doesn't have to equal '-MAXINT - 1' (as one would expect on a 2's compliment system). While the linux kernel probably won't run on systems where this isn't true (eg where signed arithmetic saturates) gcc will assume it can't happen and optimise code with that assumption. This may not matter here ... David