[RELEASE] LTTng-modules 2.13.3 and 2.12.8 (Linux kernel tracer)

Mathieu Desnoyers
2022-03-25T19:27:45Z

Hi,

This is a stable release announcement for the LTTng kernel tracer for the
stable 2.12 and 2.13 branches. The releases are respectively 2.12.8 and 2.13.3.

In the 2.13.3 release, two fixes are worth mentioning:

* Fix: lttng ABI: lttng_counter_ioctl() tainted scalar

The counter aggregate, clear and read functions (used for error reporting of
the event notification feature) use a userspace-controlled "number_dimensions"
argument as loop boundary.

This ABI is only accessible from the root user, which limits the practical impact
of this bug.

* Fix: sample discarded events count before reserve

Sampling the discarded events count in the buffer_end callback is done
out of order, and may therefore include increments performed by following
events (in following packets) if the thread doing the end-of-packet
event write is interrupted for a long time.

Sampling the event discarded counts before reserving space for the last
event in a packet, and keeping this as part of the private ring buffer
context, should fix this race.

In lttng-modules, this scenario would only happen if an interrupt
handler produces many events, when nested over an event between its
reserve and commit. Note that if lttng-modules supports faultable
tracepoints in the future, this may become more easy to trigger due to
preemption.

This fix is only part of the 2.13 stable branch and not backported to
2.12 because the lib ring buffer code used to implement this fix did not
exist in 2.12. Given that the impact of this bug is only imprecision of
discarded event reporting in corner-case scenarios (small impact, rare
occurrence), the complexity of implementing this fix in 2.12 is not justified.
The effect of this issue is that the lttng-tools
tests/regression/tools/streaming/test_high_throughput_limits test is flaky.

In the 2.12.8 release, a series of commits introduce support for the 5.17 Linux kernel.
The 2.13 stable branch already supported that kernel in the prior releases.

Feedback is welcome!

Thanks,

Mathieu

Project website: https://lttng.org
Documentation: https://lttng.org/docs
Download link: https://lttng.org/download

--
Mathieu Desnoyers
EfficiOS Inc.