CVE-2026-68175

Summary

In the Linux kernel, the following vulnerability has been resolved:

tracing: Fix resource leak on mmiotrace trace_pipe close

The mmiotrace tracer was added May 12th 2008. At that time, resources created in pipe_open() could not be freed because there was not pipe_close function pointer of the tracer. The pipe_close function pointer was added in December 7th, 2009, but the mmiotrace tracer was not updated.

mmio_pipe_open() allocates a header_iter and takes a pci_dev reference when trace_pipe is opened. mmio_close() frees them, but it was only wired to the tracer's .close callback.

tracing_release_pipe() invokes .pipe_close, not .close, when the trace_pipe file is released. As a result, closing trace_pipe with the mmiotrace tracer active leaked the header_iter allocation and left a stale pci_dev reference.

Set .pipe_close to mmio_close, matching how function_graph wires both callbacks to the same handler.

Note, if the trace_pipe is read to completion, it will clean up the resources, but if one were to run:

head -n 1 /sys/kernel/tracing/trace_pipe

VERSION 20070824

Over and over again, it would trigger a massive leak.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc521efd1700a8c0f7ce26f011f5eaecca17fabfa < f9e6dfe341fb31c95b9655eb6b1db8b3ae090817affected
LinuxLinuxc521efd1700a8c0f7ce26f011f5eaecca17fabfa < 594e1cf3f736779a535873fd5988162d827bfe4faffected
LinuxLinuxc521efd1700a8c0f7ce26f011f5eaecca17fabfa < cf5a82bef623b969a609f2b7e392d06dbae34aa6affected
LinuxLinuxc521efd1700a8c0f7ce26f011f5eaecca17fabfa < cb459fec4f7b13caf646101ff076e94ef38434d8affected
LinuxLinuxc521efd1700a8c0f7ce26f011f5eaecca17fabfa < c1d87e724ae55e781b7cc7ccafb34d9e668582b2affected
LinuxLinux2.6.33affected
LinuxLinux0 < 2.6.33unaffected
LinuxLinux6.6.148 <= 6.6.*unaffected
LinuxLinux6.12.101 <= 6.12.*unaffected
LinuxLinux6.18.42 <= 6.18.*unaffected
LinuxLinux7.1.6 <= 7.1.*unaffected
LinuxLinux7.2-rc5 <= *unaffected

Weaknesses

References