diff options
author | jiangxiaoming <jiangxiaoming@outlook.com> | 2021-12-30 08:52:38 +0000 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2022-01-01 20:38:50 +0000 |
commit | a3d8c2c21472c3088fb770d60d111fd5c55d9225 (patch) | |
tree | 808536f0ca6eb254ed8f28b804be7d6752fbff77 /src | |
parent | e3aeb38fa82b77ae84643f5140d9674056b6b5ca (diff) |
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 <jiangxiaoming@outlook.com>
Change-Id: Iadac7e6f6b4da357943c4c9d50bf22353c4a8408
Diffstat (limited to 'src')
-rw-r--r-- | src/vppinfra/bitmap.h | 3 |
1 files changed, 1 insertions, 2 deletions
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; } |