BUG/MEDIUM: list: fix incorrect pointer unlocking in LIST_DEL_LOCKED()
Injecting on a saturated listener started to exhibit some deadlocks
again between LIST_POP_LOCKED() and LIST_DEL_LOCKED(). Olivier found
it was due to a leftover from a previous debugging session. This patch
fixes it.
This will have to be backported if the other LIST_*_LOCKED() patches
are backported.
diff --git a/include/common/mini-clist.h b/include/common/mini-clist.h
index 074176a..6088c41 100644
--- a/include/common/mini-clist.h
+++ b/include/common/mini-clist.h
@@ -263,7 +263,7 @@
n2 = HA_ATOMIC_XCHG(&n->p, LLIST_BUSY); \
if (n2 == LLIST_BUSY) { \
if (p2 != NULL) \
- p2->n = (el); \
+ p->n = p2; \
(el)->p = p; \
(el)->n = n; \
__ha_barrier_store(); \