* Re: [PATCH] auxvec.h: account for AT_HWCAP2 in AT_VECTOR_SIZE_BASE
2013-12-24 1:37 ` Linus Torvalds
@ 2013-12-24 8:28 ` Michael Neuling
2013-12-24 9:08 ` Ard Biesheuvel
2013-12-24 21:13 ` Nishanth Aravamudan
2 siblings, 0 replies; 5+ messages in thread
From: Michael Neuling @ 2013-12-24 8:28 UTC (permalink / raw)
To: Linus Torvalds
Cc: Ard Biesheuvel, Michael Neuling, Nishanth Aravamudan,
Benjamin Herrenschmidt, Linux Kernel Mailing List,
Greg Kroah-Hartman, stable
> Please cc the guilty parties when sending patches like this.
Crud, sorry about that.
Can we add a comment at the end of include/linux/auxvec.h that says you
need to update this? Then plebs like me are less likely to miss it in
future.
Mikey
> Also, just out of interest, please describe how this bug affected
> things. Did we overflow the saved_auxv[] array, or what? Also, how
> does this change affect architectures that _don't_ have that
> ELF_HWCAP2 thing, ie everything but powerpc?
>
> Acks, people?
>
> Linus
>
> On Mon, Dec 23, 2013 at 9:49 AM, Ard Biesheuvel
> <ard.biesheuvel@linaro.org> wrote:
> > Commit 2171364d1a92 (powerpc: Add HWCAP2 aux entry) introduced a new
> > AT_ auxv entry type AT_HWCAP2 but failed to update AT_VECTOR_SIZE_BASE
> > accordingly.
> >
> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > Fixes: 2171364d1a92 (powerpc: Add HWCAP2 aux entry)
> > Cc: stable@vger.kernel.org
> > ---
> >
> > include/linux/auxvec.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/include/linux/auxvec.h b/include/linux/auxvec.h
> > index 669fef5..3e0fbe4 100644
> > --- a/include/linux/auxvec.h
> > +++ b/include/linux/auxvec.h
> > @@ -3,6 +3,6 @@
> >
> > #include <uapi/linux/auxvec.h>
> >
> > -#define AT_VECTOR_SIZE_BASE 19 /* NEW_AUX_ENT entries in auxiliary table */
> > +#define AT_VECTOR_SIZE_BASE 20 /* NEW_AUX_ENT entries in auxiliary table */
> > /* number of "#define AT_.*" above, minus {AT_NULL, AT_IGNORE, AT_NOTELF} */
> > #endif /* _LINUX_AUXVEC_H */
> > --
> > 1.8.3.2
> >
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] auxvec.h: account for AT_HWCAP2 in AT_VECTOR_SIZE_BASE
2013-12-24 1:37 ` Linus Torvalds
2013-12-24 8:28 ` Michael Neuling
@ 2013-12-24 9:08 ` Ard Biesheuvel
2013-12-24 21:13 ` Nishanth Aravamudan
2 siblings, 0 replies; 5+ messages in thread
From: Ard Biesheuvel @ 2013-12-24 9:08 UTC (permalink / raw)
To: Linus Torvalds
Cc: Michael Neuling, Nishanth Aravamudan, Benjamin Herrenschmidt,
Linux Kernel Mailing List, Greg Kroah-Hartman, viro
On 24 December 2013 02:37, Linus Torvalds <torvalds@linux-foundation.org> wrote:
> Please cc the guilty parties when sending patches like this.
>
OK.
[Added Al Viro as well as this affects fs/binfmt_elf.c]
> Also, just out of interest, please describe how this bug affected
> things. Did we overflow the saved_auxv[] array, or what?
That is the risk, yes. AT_VECTOR_SIZE_BASE is supposed to be an upper
bound for the number of generic auxv entries, and this is currently
not the case. However, I am not aware of any actual problems that have
been caused, and powerpc is indeed the only arch that defines
ELF_HWCAP2 at the moment. But I spotted this when working on a series
that adds ELF_HWCAP2 to ARM, and other archs may follow in the future.
> Also, how
> does this change affect architectures that _don't_ have that
> ELF_HWCAP2 thing, ie everything but powerpc?
>
Some wasted space (two longs) in saved_auxv[] in mm_struct.
--
Ard.
> Acks, people?
>
> Linus
>
> On Mon, Dec 23, 2013 at 9:49 AM, Ard Biesheuvel
> <ard.biesheuvel@linaro.org> wrote:
>> Commit 2171364d1a92 (powerpc: Add HWCAP2 aux entry) introduced a new
>> AT_ auxv entry type AT_HWCAP2 but failed to update AT_VECTOR_SIZE_BASE
>> accordingly.
>>
>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> Fixes: 2171364d1a92 (powerpc: Add HWCAP2 aux entry)
>> Cc: stable@vger.kernel.org
>> ---
>>
>> include/linux/auxvec.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/linux/auxvec.h b/include/linux/auxvec.h
>> index 669fef5..3e0fbe4 100644
>> --- a/include/linux/auxvec.h
>> +++ b/include/linux/auxvec.h
>> @@ -3,6 +3,6 @@
>>
>> #include <uapi/linux/auxvec.h>
>>
>> -#define AT_VECTOR_SIZE_BASE 19 /* NEW_AUX_ENT entries in auxiliary table */
>> +#define AT_VECTOR_SIZE_BASE 20 /* NEW_AUX_ENT entries in auxiliary table */
>> /* number of "#define AT_.*" above, minus {AT_NULL, AT_IGNORE, AT_NOTELF} */
>> #endif /* _LINUX_AUXVEC_H */
>> --
>> 1.8.3.2
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] auxvec.h: account for AT_HWCAP2 in AT_VECTOR_SIZE_BASE
2013-12-24 1:37 ` Linus Torvalds
2013-12-24 8:28 ` Michael Neuling
2013-12-24 9:08 ` Ard Biesheuvel
@ 2013-12-24 21:13 ` Nishanth Aravamudan
2 siblings, 0 replies; 5+ messages in thread
From: Nishanth Aravamudan @ 2013-12-24 21:13 UTC (permalink / raw)
To: Linus Torvalds
Cc: Ard Biesheuvel, Michael Neuling, Benjamin Herrenschmidt,
Linux Kernel Mailing List, Greg Kroah-Hartman, stable
On 23.12.2013 [17:37:00 -0800], Linus Torvalds wrote:
> Please cc the guilty parties when sending patches like this.
>
> Also, just out of interest, please describe how this bug affected
> things. Did we overflow the saved_auxv[] array, or what? Also, how
> does this change affect architectures that _don't_ have that
> ELF_HWCAP2 thing, ie everything but powerpc?
>
> Acks, people?
Acked-by: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
I agree with Mikey that a comment might be useful. Thanks for the fix
and sorry for the mistake!
-Nish
^ permalink raw reply [flat|nested] 5+ messages in thread