vlib: make pending_interrupts valid for AddressSanitizer 64/37964/2
authorBenoît Ganne <bganne@cisco.com>
Fri, 20 Jan 2023 08:52:01 +0000 (09:52 +0100)
committerFlorin Coras <florin.coras@gmail.com>
Sat, 21 Jan 2023 03:28:11 +0000 (03:28 +0000)
vec_alloc_aligned() pre-allocates the vector memory but does not
update its size, making ASan unhappy when trying to access it.

Type: fix

Change-Id: I80e753cf2458cf516d1180a24cfaca4f382339d5
Signed-off-by: Benoît Ganne <bganne@cisco.com>
src/vlib/main.c

index 964bc4a..dc21a3f 100644 (file)
@@ -1472,7 +1472,7 @@ vlib_main_or_worker_loop (vlib_main_t * vm, int is_main)
     cpu_time_now = clib_cpu_time_now ();
 
   /* Pre-allocate interupt runtime indices and lock. */
-  vec_alloc_aligned (nm->pending_interrupts, 1, CLIB_CACHE_LINE_BYTES);
+  vec_validate_aligned (nm->pending_interrupts, 0, CLIB_CACHE_LINE_BYTES);
 
   /* Pre-allocate expired nodes. */
   if (!nm->polling_threshold_vector_length)