* [LTP] [EXT] Re: [PATCH v9 00/24] ILP32 for ARM64 [not found] ` <mvmtvdyoi33.fsf@suse.de> @ 2019-05-13 20:16 ` Yuri Norov 2019-05-14 10:43 ` Cyril Hrubis 0 siblings, 1 reply; 4+ messages in thread From: Yuri Norov @ 2019-05-13 20:16 UTC (permalink / raw) To: ltp + ltp@lists.linux.it > There is a problem with the stack size accounting during execve when > there is no stack limit: > > $ ulimit -s > 8192 > $ ./hello.ilp32 > Hello World! > $ ulimit -s unlimited > $ ./hello.ilp32 > Segmentation fault > $ strace ./hello.ilp32 > execve("./hello.ilp32", ["./hello.ilp32"], 0xfffff10548f0 /* 77 vars */) = -1 ENOMEM (Cannot allocate memory) > +++ killed by SIGSEGV +++ > Segmentation fault (core dumped) > > Andreas. Thanks Andreas, I will take a look. Do we have such test in LTP? Yury ^ permalink raw reply [flat|nested] 4+ messages in thread
* [LTP] [EXT] Re: [PATCH v9 00/24] ILP32 for ARM64 2019-05-13 20:16 ` [LTP] [EXT] Re: [PATCH v9 00/24] ILP32 for ARM64 Yuri Norov @ 2019-05-14 10:43 ` Cyril Hrubis 2019-05-14 23:01 ` Yury Norov 2019-05-14 23:41 ` Yury Norov 0 siblings, 2 replies; 4+ messages in thread From: Cyril Hrubis @ 2019-05-14 10:43 UTC (permalink / raw) To: ltp Hi! > > There is a problem with the stack size accounting during execve when > > there is no stack limit: > > > > $ ulimit -s > > 8192 > > $ ./hello.ilp32 > > Hello World! > > $ ulimit -s unlimited > > $ ./hello.ilp32 > > Segmentation fault > > $ strace ./hello.ilp32 > > execve("./hello.ilp32", ["./hello.ilp32"], 0xfffff10548f0 /* 77 vars */) = -1 ENOMEM (Cannot allocate memory) > > +++ killed by SIGSEGV +++ > > Segmentation fault (core dumped) > > > > Andreas. > > Thanks Andreas, I will take a look. Do we have such test in LTP? We do have a test that we can run a binary with very small stack size i.e. 512kB but there does not seem to be anything that would catch this specific problem. Can you please open an issue and describe how to reproduce the problem at our github tracker: https://github.com/linux-test-project/ltp/issues Then we can create testcase based on that reproducer later on. -- Cyril Hrubis chrubis@suse.cz ^ permalink raw reply [flat|nested] 4+ messages in thread
* [LTP] [EXT] Re: [PATCH v9 00/24] ILP32 for ARM64 2019-05-14 10:43 ` Cyril Hrubis @ 2019-05-14 23:01 ` Yury Norov 2019-05-14 23:41 ` Yury Norov 1 sibling, 0 replies; 4+ messages in thread From: Yury Norov @ 2019-05-14 23:01 UTC (permalink / raw) To: ltp On Tue, May 14, 2019 at 12:43:11PM +0200, Cyril Hrubis wrote: > Hi! > > > There is a problem with the stack size accounting during execve when > > > there is no stack limit: > > > > > > $ ulimit -s > > > 8192 > > > $ ./hello.ilp32 > > > Hello World! > > > $ ulimit -s unlimited > > > $ ./hello.ilp32 > > > Segmentation fault > > > $ strace ./hello.ilp32 > > > execve("./hello.ilp32", ["./hello.ilp32"], 0xfffff10548f0 /* 77 vars */) = -1 ENOMEM (Cannot allocate memory) > > > +++ killed by SIGSEGV +++ > > > Segmentation fault (core dumped) > > > > > > Andreas. > > > > Thanks Andreas, I will take a look. Do we have such test in LTP? So the problem was in not converting new compat-sensitive code: diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h index 5bdf357169d8..c509f83fa506 100644 --- a/arch/arm64/include/asm/processor.h +++ b/arch/arm64/include/asm/processor.h @@ -63,7 +63,7 @@ TASK_SIZE_32 : TASK_SIZE_64) #define TASK_SIZE_OF(tsk) (is_compat_thread(tsk) ? \ TASK_SIZE_32 : TASK_SIZE_64) -#define DEFAULT_MAP_WINDOW (test_thread_flag(TIF_32BIT) ? \ +#define DEFAULT_MAP_WINDOW (is_compat_task() ? \ TASK_SIZE_32 : DEFAULT_MAP_WINDOW_64) #else #define TASK_SIZE TASK_SIZE_64 The fix is incorporated in ilp32-5.1.1: https://github.com/norov/linux/tree/ilp32-5.1.1 > We do have a test that we can run a binary with very small stack size > i.e. 512kB but there does not seem to be anything that would catch this > specific problem. > > Can you please open an issue and describe how to reproduce the problem > at our github tracker: > > https://github.com/linux-test-project/ltp/issues > > Then we can create testcase based on that reproducer later on. > > -- > Cyril Hrubis > chrubis@suse.cz OK, I'll do. Yury ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [LTP] [EXT] Re: [PATCH v9 00/24] ILP32 for ARM64 2019-05-14 10:43 ` Cyril Hrubis 2019-05-14 23:01 ` Yury Norov @ 2019-05-14 23:41 ` Yury Norov 1 sibling, 0 replies; 4+ messages in thread From: Yury Norov @ 2019-05-14 23:41 UTC (permalink / raw) To: ltp On Tue, May 14, 2019 at 12:43:11PM +0200, Cyril Hrubis wrote: > Hi! > > > There is a problem with the stack size accounting during execve when > > > there is no stack limit: > > > > > > $ ulimit -s > > > 8192 > > > $ ./hello.ilp32 > > > Hello World! > > > $ ulimit -s unlimited > > > $ ./hello.ilp32 > > > Segmentation fault > > > $ strace ./hello.ilp32 > > > execve("./hello.ilp32", ["./hello.ilp32"], 0xfffff10548f0 /* 77 vars */) = -1 ENOMEM (Cannot allocate memory) > > > +++ killed by SIGSEGV +++ > > > Segmentation fault (core dumped) > > > > > > Andreas. > > > > Thanks Andreas, I will take a look. Do we have such test in LTP? > > We do have a test that we can run a binary with very small stack size > i.e. 512kB but there does not seem to be anything that would catch this > specific problem. > > Can you please open an issue and describe how to reproduce the problem > at our github tracker: > > https://github.com/linux-test-project/ltp/issues > > Then we can create testcase based on that reproducer later on. This is it: https://github.com/linux-test-project/ltp/issues/530 Yury ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-05-14 23:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20180516081910.10067-1-ynorov@caviumnetworks.com>
[not found] ` <20190508225900.GA14091@yury-thinkpad>
[not found] ` <mvmtvdyoi33.fsf@suse.de>
2019-05-13 20:16 ` [LTP] [EXT] Re: [PATCH v9 00/24] ILP32 for ARM64 Yuri Norov
2019-05-14 10:43 ` Cyril Hrubis
2019-05-14 23:01 ` Yury Norov
2019-05-14 23:41 ` Yury Norov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox