BUG/MEDIUM: lists: Lock the element while we check if it is in a list.
authorOlivier Houchard <cognet@ci0.org>
Mon, 29 Jun 2020 17:52:01 +0000 (19:52 +0200)
committerOlivier Houchard <cognet@ci0.org>
Mon, 29 Jun 2020 17:59:06 +0000 (19:59 +0200)
commit347bbf79d20e1cff57075a8a378355dfac2475e2
tree44af555eba340f7a886f60095958969dd754a8d9
parentf21695bd8b59d582efc99c85f9a1afac200eda81
BUG/MEDIUM: lists: Lock the element while we check if it is in a list.

In MT_LIST_ADDQ() and MT_LIST_ADD() we can't just check if the element is
already in a list, because there's a small race condition, it could be added
between the time we checked, and the time we actually set its next and prev.
So we have to lock it first.

This should be backported to 2.1.
include/haproxy/list.h