From a3d8c2c21472c3088fb770d60d111fd5c55d9225 Mon Sep 17 00:00:00 2001 From: jiangxiaoming Date: Thu, 30 Dec 2021 08:52:38 +0000 Subject: vppinfra: fix bitmap can't get correct next clear index when bitmap vec len is 1 and all the bits has been occupied, clib_bitmap_next_clear(ai, 63) will return result:65 which should be 64. It will lead to missing iteration for pool_foreach. Type: fix Signed-off-by: jiangxiaoming Change-Id: Iadac7e6f6b4da357943c4c9d50bf22353c4a8408 --- src/vppinfra/bitmap.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/vppinfra/bitmap.h b/src/vppinfra/bitmap.h index 3c95bfb4b43..d9bdd0fac7d 100644 --- a/src/vppinfra/bitmap.h +++ b/src/vppinfra/bitmap.h @@ -742,8 +742,7 @@ clib_bitmap_next_clear (uword * ai, uword i) return log2_first_set (t) + i0 * BITS (ai[0]); } - /* no clear bit left in bitmap, return bit just beyond bitmap */ - return (i0 * BITS (ai[0])) + 1; + return i0 * BITS (ai[0]); } return i; } -- cgit 1.2.3-korg