Re: [PATCH v4 3/7] fs/procfs: add build ID fetching to PROCMAP_QUERY API

From: Liam R. Howlett
Date: Wed Jun 12 2024 - 14:29:06 EST


* Andrii Nakryiko <andrii@xxxxxxxxxx> [240611 07:01]:
> The need to get ELF build ID reliably is an important aspect when
> dealing with profiling and stack trace symbolization, and
> /proc/<pid>/maps textual representation doesn't help with this.
>
> To get backing file's ELF build ID, application has to first resolve
> VMA, then use it's start/end address range to follow a special
> /proc/<pid>/map_files/<start>-<end> symlink to open the ELF file (this
> is necessary because backing file might have been removed from the disk
> or was already replaced with another binary in the same file path.

Can we please also add the vma_kernel_pagesize() to this interface? We
have a user who parses the entire smaps file specifically for
KernelPageSize, which could be included for a low cost here.

The only way to get this information today seems to be from the
/proc/<pid>/smaps file and it is necessary for certain hugepage calls
for alignment reasons (otherwise the calls fail with -EINVAL). Adding
this extra information would allow for another text-parsing user to
switch to this API.

Thanks,
Liam