Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

metag: Remove _STK_LIM_MAX override

Meta overrode _STK_LIM_MAX (the default RLIMIT_STACK hard limit) to
256MB, apparently in an attempt to prevent setup_arg_pages's
STACK_GROWSUP code from choosing the maximum stack size of 1GB, which is
far too large for Meta's limited virtual address space and hits a BUG_ON
(stack_top is usually 0x3ffff000).

However the commit "metag: Reduce maximum stack size to 256MB" reduces
the absolute stack size limit to a safe value for metag. This allows the
default _STK_LIM_MAX override to be removed, bringing the default
behaviour in line with all other architectures. Parisc in particular
recently removed their override of _STK_LIMT_MAX in commit e0d8898d76a7
(parisc: remove _STK_LIM_MAX override) since it subtly affects stack
allocation semantics in userland. Meta's uapi/asm/resource.h can now be
removed and switch to using generic-y.

Suggested-by: Helge Deller <deller@gmx.de>
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: linux-metag@vger.kernel.org
Cc: John David Anglin <dave.anglin@bell.net>

+1 -8
+1 -1
arch/metag/include/uapi/asm/Kbuild
··· 4 4 header-y += byteorder.h 5 5 header-y += ech.h 6 6 header-y += ptrace.h 7 - header-y += resource.h 8 7 header-y += sigcontext.h 9 8 header-y += siginfo.h 10 9 header-y += swab.h 11 10 header-y += unistd.h 12 11 13 12 generic-y += mman.h 13 + generic-y += resource.h 14 14 generic-y += setup.h
-7
arch/metag/include/uapi/asm/resource.h
··· 1 - #ifndef _UAPI_METAG_RESOURCE_H 2 - #define _UAPI_METAG_RESOURCE_H 3 - 4 - #define _STK_LIM_MAX (1 << 28) 5 - #include <asm-generic/resource.h> 6 - 7 - #endif /* _UAPI_METAG_RESOURCE_H */