From: Emeric Brun Date: Fri, 1 Jul 2022 11:57:39 +0000 (-0700) Subject: MINOR: fd: Add BUG_ON checks on fd_insert() X-Git-Tag: v2.7-dev2~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=36d9097cf;p=thirdparty%2Fhaproxy.git MINOR: fd: Add BUG_ON checks on fd_insert() This patch adds two BUG_ON on fd_insert() into the fdtab checking if the fd has been correctly re-initialized into the fdtab before a new insert. It will raise a BUG if we try to insert the same fd multiple times without an intermediate fd_delete(). First one checks that the owner for this fd in fdtab was reset to NULL. Second one checks that the state flags for this fd in fdtab was reset to 0. This patch could be backported on version >= 2.4 --- diff --git a/include/haproxy/fd.h b/include/haproxy/fd.h index eaee211aac..fb16cc84ab 100644 --- a/include/haproxy/fd.h +++ b/include/haproxy/fd.h @@ -332,6 +332,8 @@ static inline void fd_insert(int fd, void *owner, void (*iocb)(int fd), unsigned * addition to overwriting some unexpected memory areas. */ BUG_ON(fd < 0 || fd >= global.maxsock); + BUG_ON(fdtab[fd].owner != NULL); + BUG_ON(fdtab[fd].state != 0); fdtab[fd].owner = owner; fdtab[fd].iocb = iocb;