[PATCHv2] ARM64:Fix MINSIGSTKSZ and SIGSTKSZ
arnd at arndb.de
Tue Oct 6 00:49:29 PDT 2015
On Tuesday 06 October 2015 11:05:43 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
> Reported Issue in Glibc Bugzilla:
> Bugfix in Glibc-2.22:
> Signed-off-by: Akhilesh Kumar <akhilesh.k at samsung.com>
> Signed-off-by: Manjeet Pawar <manjeet.p at samsung.com>
> Signed-off-by: Rohit Thapliyal <r.thapliyal at samsung.com>
This looks correct now. A few more points though:
* My first thought would have been to do this by first defining the
two symbols before the #include, and then adding an #ifdef in
the generic file. Both approaches work though, any other opinions
* It seems that PowerPC has the same bug. Care to fix that as well?
* Do we need to backport this to stable?
* Can you explain in the changelog how the numbers were decided?
I don't see any other architecture using 5kb and cannot see why
it has to be this value rather than something else.
> v1 -> Changes in uapi overall header
> v2 -> Changes done in arm64 headers
> arch/arm64/include/uapi/asm/signal.h | 5 +++++
> 1 file changed, 5 insertions(+)
> diff --git a/arch/arm64/include/uapi/asm/signal.h b/arch/arm64/include/uapi/asm/signal.h
> index 8d1e723..5ac56cf 100644
> --- a/arch/arm64/include/uapi/asm/signal.h
> +++ b/arch/arm64/include/uapi/asm/signal.h
> @@ -21,4 +21,9 @@
> #include <asm-generic/signal.h>
> +#undef MINSIGSTKSZ
> +#undef SIGSTKSZ
> +#define MINSIGSTKSZ 5120
> +#define SIGSTKSZ 16384
More information about the linux-arm-kernel