From: Jens Axboe Date: Mon, 2 Jun 2008 07:41:29 +0000 (+0200) Subject: Fix off-by-one in generic ffz X-Git-Tag: fio-1.21-rc4~8 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=6839616ff2ac013c8b0fbeb2a97f6cf20976b9f3 Fix off-by-one in generic ffz Signed-off-by: Jens Axboe --- diff --git a/lib/ffz.h b/lib/ffz.h index 7fc7d456..4324f5a3 100644 --- a/lib/ffz.h +++ b/lib/ffz.h @@ -3,7 +3,7 @@ static inline int __ffs(int word) { - int r = 0; + int r = 1; if (!(word & 0xffff)) { word >>= 16; @@ -31,7 +31,7 @@ static inline int __ffs(int word) static inline int ffz(unsigned int bitmask) { - return ffs(~bitmask); + return ffs(~bitmask) - 1; } #endif