acl-plugin: VPP-1400: VPP may crash when performing ACL modifications on applied... 34/14634/3
authorAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 29 Aug 2018 15:23:03 +0000 (17:23 +0200)
committerNeale Ranns <nranns@cisco.com>
Wed, 5 Sep 2018 10:36:46 +0000 (10:36 +0000)
commit3328e9011463855b5b2d52b849cff3114d264b68
tree03e36aacc07b8af7a4246af90e01dcb772ae7f8c
parent5d28c7afbc0abd172d0053768b2ebe37b7a6c348
acl-plugin: VPP-1400: VPP may crash when performing ACL modifications on applied ACLs

The partition_split() did not increment the refcount when using a mask type index,
thus subsequent modifications potentially resulted in double frees and in the best case
immediate crash, in the worst case delayed crash in another place.

Introduce the lock_mask_type_index() and call it, move the mask type index
related functions closer to the top of the file.

Make the assignment of the new mask type indices
for the tuplemerge case to use the assign_mask_type_index().

Keep some debugs in case we need to investigate this further at some point.

Change-Id: Iae370f5cd92e1fe1442480db34656a8a3442dbc0
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 1edc406da3d4f6e63de2f278360b5753f55c00df)
src/plugins/acl/acl.h
src/plugins/acl/hash_lookup.c