haproxy/doc/internals
Willy Tarreau 3b091f80aa BUG/MINOR: buffers/threads: always clear a buffer's head before releasing it
A small race exists in buffers with "show sess all". This one wants to show
some information grabbed from the buffer (especially in HTX mode). But the
thread owning this buffer might just be releasing its area, right after a
free() or munmap() call, resulting in a head that is not seen as empty yet
though the area was released. It may then be dereferenced by "show sess all"
causing a crash. Note that in practice it only happens in debug mode with
UAF enabled, but it's tricky enough to fix it right now.

This should be backported to stable versions which support threads and a
store barrier. It's worth noting that by performing the clearing first,
b_free() and b_drop() now become two exact equivalent.
2019-08-08 08:07:45 +02:00
..
acl.txt DOC: add minimal documentation on how ACLs work internally 2011-12-30 17:33:27 +01:00
body-parsing.txt DOC: Fix typos in different subsections of the documentation 2018-11-18 22:23:15 +01:00
buffer-api.txt BUG/MINOR: buffers/threads: always clear a buffer's head before releasing it 2019-08-08 08:07:45 +02:00
connect-status.txt [BUG] fixed connection establishment detection 2007-04-30 14:37:43 +02:00
connection-header.txt DOC: Fix typos in different subsections of the documentation 2018-11-18 22:23:15 +01:00
connection-scale.txt [DOC] imported lots of internal documentations 2007-01-07 13:03:59 +01:00
entities-v2.txt DOC: Fix typos in different subsections of the documentation 2018-11-18 22:23:15 +01:00
entities.fig DOC: update the entities diagrams 2015-04-21 14:15:40 +02:00
entities.pdf DOC: update the entities diagrams 2015-04-21 14:15:40 +02:00
entities.svg DOC: update the entities diagrams 2015-04-21 14:15:40 +02:00
entities.txt DOC: Fix typos in different subsections of the documentation 2018-11-18 22:23:15 +01:00
filters.txt [RELEASE] Released version 2.0-dev3 2019-05-15 16:51:48 +02:00
hashing.txt DOC: Documentation for hashing function, with test results. 2013-11-20 22:14:47 +01:00
header-parser-speed.txt [DOC] imported lots of internal documentations 2007-01-07 13:03:59 +01:00
header-tree.txt [DOC] added some docs about http headers storage and acls 2007-04-01 09:44:10 +02:00
http-cookies.txt [DOC] add a summary about cookie incompatibilities between specs and browsers 2010-08-31 23:58:03 +02:00
http-docs.txt [DOC] added some docs about http headers storage and acls 2007-04-01 09:44:10 +02:00
http-parsing.txt DOC: add some documentation from RFC3986 about URI format 2012-01-07 23:58:54 +01:00
htx-api.txt DOC: htx: Add internal documentation about the HTX 2019-07-19 09:18:27 +02:00
list.fig DOC: add the documentation about internal circular lists 2015-09-20 22:43:56 +02:00
lua_socket.fig [RELEASE] Released version 1.8-dev3 2017-10-22 10:13:45 +02:00
lua_socket.pdf MEDIUM: xref/lua: Use xref for referencing cosocket relation between stream and lua 2017-09-11 18:59:40 +02:00
naming.txt [DOC] add some doc about internal naming rules 2007-03-03 11:46:27 +01:00
notes-layers.txt DOC: Fix typos in different subsections of the documentation 2018-11-18 22:23:15 +01:00
pattern.dia DOC: pattern: pattern organisation schematics 2014-03-20 14:10:49 +01:00
pattern.pdf DOC: pattern: pattern organisation schematics 2014-03-20 14:10:49 +01:00
polling-states.fig DOC: add a diagram showing polling state transitions 2014-01-26 00:42:29 +01:00
repartition-be-fe-fi.txt [DOC] imported lots of internal documentations 2007-01-07 13:03:59 +01:00
sequence.fig DOC: commit a few old design thoughts files 2014-06-19 21:02:32 +02:00
stats-v2.txt [DOC] imported lots of internal documentations 2007-01-07 13:03:59 +01:00
stream-sock-states.fig [RELEASE] Released version 2.0-dev6 2019-06-07 06:12:59 +02:00