Re: [PATCHv3] ARM64:Fix MINSIGSTKSZ and SIGSTKSZ

From: Will Deacon
Date: Thu Oct 15 2015 - 08:48:02 EST


On Thu, Oct 15, 2015 at 02:12:41PM +0200, Szabolcs Nagy wrote:
> * Will Deacon <will.deacon@xxxxxxx> [2015-10-09 11:33:52 +0100]:
>
> > On Fri, Oct 09, 2015 at 03:59:40PM +0530, Manjeet Pawar wrote:
> > > MINSIGSTKSZ and SIGSTKSZ for ARM64 are not correctly set in latest kernel.
> > > This patch fixes this issue.
> > >
> > > This issue is reported in LTP (testcase: sigaltstack02.c).
> > > Testcase failed when sigaltstack() called with stack size "MINSIGSTKSZ - 1"
> > > Since in Glibc-2.22, MINSIGSTKSZ is set to 5120 but in kernel
> > > it is set to 2048 so testcase gets failed.
> > >
> > > Testcase Output:
> > > sigaltstack02 1 TPASS : stgaltstack() fails, Invalid Flag value,errno:22
> > > sigaltstack02 2 TFAIL : sigaltstack() returned 0, expected -1,errno:12
> >
> > I'm still unable to reproduce this failure. Is this with defconfig?
> >
> > > Reported Issue in Glibc Bugzilla:
> > > Bugfix in Glibc-2.22: [Bug 16850]
> > > https://sourceware.org/bugzilla/show_bug.cgi?id=16850
> > >
> > > Signed-off-by: Akhilesh Kumar <akhilesh.k@xxxxxxxxxxx>
> > > Signed-off-by: Manjeet Pawar <manjeet.p@xxxxxxxxxxx>
> > > Signed-off-by: Rohit Thapliyal <r.thapliyal@xxxxxxxxxxx>
> > > ---
> > > v1 -> Changes in uapi overall header
> > > v2 -> Changes done in arm64 headers
> > > v3 -> Changes done in both uapi & arm64 headers
> > >
> > > arch/arm64/include/uapi/asm/signal.h | 3 +++
> > > include/uapi/asm-generic/signal.h | 2 ++
> > > 2 files changed, 5 insertions(+)
> >
> > Acked-by: Will Deacon <will.deacon@xxxxxxx>
> >
> > Arnd: are you planning to take this via asm-generic, or shall I queue it
> > on the arm64 fixes branch?
> >
>
> i just noticed this and wanted to note that an old
> glibc can fail on a new kernel with this patch if
> an application uses MINSIGSTKSZ altstack.

I was worried about that (which was also why I didn't Cc stable on this,
because we shouldn't pretend that glibc and the kernel are synchronised),
but the value *is* incorrect and glibc has already been updated. In
other words, not merging this patch is also problematic, because we're
advertising a size that's significantly too small.

Would you rather we kept the old incorrect value in the kernel headers?

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/