← Back to archive

Daily update · Sep 7–8, 2026

Perf and configfs bug fixes land in mainline

Intel PT and PowerPC sample fixes, plus a configfs symlink vs rmdir race fix.

In brief

This update contains four bug fixes: two in the perf profiling tool and two in the configfs filesystem. The perf fixes improve correctness when decoding Intel Processor Trace data and PowerPC DTL samples. The configfs fixes close a race between symlink creation and removal of the target directory.

Bug fixes

perf symbol: prefer executed file over separate debug file

When a binary has separate debug info via .gnu-debuglink, perf could set the binary type to the debug file and then read instruction bytes from it. That is wrong for consumers such as Intel PT decoding in perf script, which need the instructions that were actually executed. This commit prefers the build-id cache or system path DSO over debug-only types.

Why it matters: Intel PT trace decoding should now read instruction bytes from the executed file rather than the separate debug file.

ae9464c65e9d

perf powerpc-vpadtl: fix raw_size of DTL samples

The PowerPC dispatch trace log (DTL) sample code set raw_size to sizeof(record), but record is a pointer, so the length was only 8 bytes instead of the 48-byte DTL entry. This commit changes it to sizeof(*record) so the sample's raw data length matches the actual record.

Why it matters: Consumers of PowerPC DTL samples can now access the full entry instead of only the first few bytes.

aadea57f5328

configfs: close symlink vs rmdir race

Two patches fix a window in configfs where a symlink to a target being removed could access a freed directory entry (dentry) or item. The first pins the target's dentry while resolving the symlink; the second removes the target dentry from the hash table before dropping the item in rmdir. Together they prevent a racing symlink from using freed configfs state.

Why it matters: This removes a potential use-after-free crash or warning when configfs symlinks are created concurrently with removal of their targets.

a7c1290eef60f06c2d26d199

Source commits4 entries +
a7c1290eef60

configfs: pin the symlink target's dirent instead of chasing ->ci_dentry

Vasileios Almpanis · Jul 30, 2026 · 1 files

f06c2d26d199

configfs: unhash the dentry before dropping the item in rmdir

Vasileios Almpanis · Jul 30, 2026 · 1 files

ae9464c65e9d

perf symbol: Do not use debug file as the binary type

Adrian Hunter · Aug 25, 2026 · 1 files

aadea57f5328

perf powerpc-vpadtl: Fix raw_size of DTL samples

Wang Yan · Aug 25, 2026 · 1 files