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

Andrii Nakryiko
2024-06-17T20:38:22Z

On Wed, Jun 12, 2024 at 11:28 AM Liam R. Howlett
<Liam.Howlett@oracle.com> wrote:
>
> * Andrii Nakryiko <andrii@kernel.org> [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.
>

Yep, it totally makes sense and is effectively free to add. Will add
in the next revision.

(and sorry for the late reply, been travelling and generally on
unusual schedule for the last week)

> Thanks,
> Liam