Re: [PATCH v4 0/5] perf trace-event: Fix overflow, loop and cleanup bugs

Namhyung Kim <[email protected]>
Newsgroups org.ozlabs.lists.linuxppc-dev,org.kernel.vger.linux-perf-users
Message-ID <[email protected]>
On Sun, 26 Jul 2026 00:19:48 +0530, Tanushree Shah wrote:
> This series fixes five security issues in trace-event-read.c and
> trace-event.c:
> 1. Stack buffer overflow in read_string() when a string exceeds
>    BUFSIZ, due to a missing bounds check.
> 2. Integer truncation when passing 64-bit sizes into do_read() and
>    skip(), which use 'int' parameters, causing uninitialized memory
>    to be dumped and parsers to read out of bounds.
> 3. Double free / use-after-free in trace_event__cleanup(): it frees
>    t->pevent but never clears the pointer, so calling it twice on
>    the same trace_event touches already-freed memory. Also fixes a
>    related leak in trace_event__init(), which overwrites
>    t->pevent/t->plugin_list without releasing any existing handle
>    if called more than once on the same struct.
> 4. Heap buffer overflow in read_ftrace_printk() and
>    read_saved_cmdline(): size + 1 can overflow to 0 in malloc(),
>    allocating a tiny buffer while a huge read is still attempted
>    into it.
> 5. Infinite loop in skip(): it does not check do_read()'s return
>    value, so a crafted size can spin the loop indefinitely.
> 
> [...]
Applied to perf-tools-next, thanks!

Best regards,
Namhyung
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.