vppinfra: fix pool free bitmap allocation 70/37270/3
authorVladislav Grishenko <themiron@yandex-team.ru>
Wed, 28 Sep 2022 08:37:02 +0000 (13:37 +0500)
committerDave Barach <vpp@barachs.net>
Sun, 19 Mar 2023 12:17:23 +0000 (12:17 +0000)
commit8a4b79778f8b3149d663face83d37fbf96e12d05
tree28a77bedaa359eecc075417cdc631dbedc7368b9
parentb9c8c57e983246ec034bc9059b1740558c951d51
vppinfra: fix pool free bitmap allocation

Using clib_bitmap_vec_validate makes free bitmap vector
to be x64 times bigger (assuming x86_64) than necessary
when non-zero and possible oom due (u32)(0 - 1) math with
zero alloc.
Fix it with clib_bitmap_validate which takes bit size, not
index and ensure at least one bit is allocated.

Type: fix
Change-Id: I7e191f4e2fb3722a06bb800e1d075f7c7e2dcec9
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
src/vppinfra/CMakeLists.txt
src/vppinfra/pool.h
src/vppinfra/test_pool_alloc.c [new file with mode: 0644]