From: Jérémie Galarneau Date: Sat, 24 Aug 2019 23:08:33 +0000 (-0700) Subject: Fix: mark consumer channels as logically deleted during deletion X-Git-Tag: v2.12.0-rc1~494 X-Git-Url: https://git.lttng.org/?a=commitdiff_plain;h=b6921a1724c571a787e3600c5dae4d9efeef0290;hp=b6921a1724c571a787e3600c5dae4d9efeef0290;p=lttng-tools.git Fix: mark consumer channels as logically deleted during deletion A consumer channel that is "logically" deleted (but not yet reclaimed with regards to RCU) can be iterated-on when creating a trace chunk. Such a deleted channel will have released its reference to its previous trace chunk, but the trace chunk creation operation will set its current trace chunk to the new trace chunk, thus acquiring a new reference to the trace chunk. The clean-up performed by the RCU thread already assumes that a logical deletion already took place and will not re-release the reference to the channel's current trace chunk. In effect, the reference to the trace chunk is leaked and will prevent any rotation out of the trace chunk from completing. Reported-by: Mathieu Desnoyers Signed-off-by: Jérémie Galarneau ---