acl-plugin: assertion failed at hash_lookup.c:226 when modifying ACLs applied as... 89/7689/2
authorAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 19 Jul 2017 17:23:59 +0000 (13:23 -0400)
committerFlorin Coras <florin.coras@gmail.com>
Thu, 20 Jul 2017 21:48:31 +0000 (21:48 +0000)
commitfaee17e8b866fe16ce706af31d1e9cbc6d06b961
tree98657c1284dcdc2ec31ec90db0893b19490e7556
parentfb3288fe56ba9f0efc1ffc7fdca56f2412749df0
acl-plugin: assertion failed at hash_lookup.c:226 when modifying ACLs applied as part of many (VPP-910)

change 7385 has added the code which has the first ACE's "prev" entry within the linked list of
shadowed ACEs pointing to the last ACE, in order to avoid the frequent linear list traversal.
That change was not complete and did not update this "prev" entry whenever the last ACE was deleted.
As a result the changes within the applied ACLs which caused the calls to hash_acl_unapply/hash_acl_apply
may result in hitting assert which does the sanity check. The solution is to add the missing update logic.

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