Re: [RFC PATCH] UAPI: Document auxvec AT_* namespace policy and note reservations

From: Dave Martin
Date: Wed May 16 2018 - 11:17:31 EST


On Wed, May 16, 2018 at 11:29:13AM -0400, Rich Felker wrote:
> On Wed, May 16, 2018 at 03:20:47PM +0100, Dave Martin wrote:
> > There are constraints on defining AT_* auxvec tags that are not
> > obvious to the casual maintainer of either the global
> > <uapi/linux/auxvec.h> or the arch-specific headers. This is likely
> > to lead to mistakes. (I certainly fell foul of it...)
> >
> > For the benefit of future maintainers, this patch collects the
> > relevant information in one place, documenting how the namespace
> > needs to be managed, and noting all the values currently in use.
> >
> > Maintaining a global list may result in some merge conflicts, but
> > AT_* values are not added frequently. I'm open to suggestions on
> > the best approach.
> >
> > I also assume that values 38 and 39 may have been used for
> > historical purposes, such as an architecture that is no longer
> > supported. If they have definitely never been used for anything,
> > they could be removed from the "reserved" list.
>
> On the userspace side (elf.h) all the AT_* constants are in one file.
> Why don't we just do the same here and eliminate the
> arch/*/include/uapi/asm/auxvec.h files and likewise the need to
> manually maintain consistency of the comments about reservations?
>
> If there are reasons not to do that, I'm not opposed to this patch
> as-is.

I agree, it would be better to merge them.

My concern was that the correct way to get these definitions from
userspace is very unclear, so there may be software out there
including <asm/auxvec.h> directly, which would now lack expected
definitions.

codesearch.debian.net shows no real hits for that, so maybe I'm too
paranoid.

Since <linux/auxvec.h> only contains #defines, it may be enough for arch
<asm/auxvec.h> headers to include <linux/auxvec.h>.

Thoughts?

Cheers
---Dave