Perf MMAP records differ from /proc/[X]/maps when chroot is used

From: Beau Belgrave
Date: Wed Jun 01 2022 - 14:04:19 EST


I noticed a related conversation that occurred in the past here:
https://lore.kernel.org/lkml/20220202070828.143303-1-namhyung@xxxxxxxxxx/

I hit this same issue, however, during debugging I noticed that when
chroot is used the full path including the chroot are in /proc/[X]/maps.
The perf MMAP records only give the relative path within the chroot.

This causes different views of a process when combining mmaps that existed
before perf_event_open() via /proc/[X]/maps and observed mmaps within the
perf_event_open() ring buffer.

I would like to know if this is how mmap records are wanted to be represented
long term via perf? It would be great if these mmap records aligned with how
/proc/[X]/maps are represented so chroot usage becomes (mostly) seamless.

Thanks,
-Beau