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

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri Mar 25 14:37:32 EDT 2022


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.
http://www.efficios.com


More information about the lttng-dev mailing list