lib/checksum.c: use 32-bit arithmetic consistently
authorArnd Bergmann <arnd@arndb.de>
Tue, 23 Jun 2009 19:22:58 +0000 (21:22 +0200)
committerArnd Bergmann <arnd@arndb.de>
Tue, 3 Nov 2009 15:06:52 +0000 (16:06 +0100)
commitc44ba9f6684946b156335da6a6d55f0b8cf7cb72
tree8a24ba039b08fc8bb95a670e33ef7312443576da
parentb6727b12dd2ffb4a890eb5b13a298230c29ba45d
lib/checksum.c: use 32-bit arithmetic consistently

The use of 'unsigned long' variables in the 32-bit part of do_csum()
is confusing at best, and potentially broken for long input on 64-bit
machines.

This changes the code to use 'unsigned int' instead, which makes
the code behave in the same (correct) way on both 32 and 64 bit
machines.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
lib/checksum.c