Hi Arnd, On Mon, 25 Jan 2021 at 20:41, Arnd Bergmann <arnd@xxxxxxxxxx> wrote: > > On Mon, Jan 25, 2021 at 3:48 PM Naresh Kamboju > <naresh.kamboju@xxxxxxxxxx> wrote: > > > > LTP syscalls madvise08 test case failed on all devices from > > Linux next 20210118 to till day. > > strace log attached to this email and link provided below. > > > > BAD: next-20210118 > > GOOD: next-20210115 > > > > This failure is easily reproducible on Linux next tag 20210118 above. > > > > tst_test.c:1250: TINFO: Timeout per run is 0h 15m 00s > > madvise08.c:73: TINFO: Temporary core pattern is > > '/scratch/ltp-2nftQzNI1K/HclFMH/dump-%p' > > madvise08.c:112: TINFO: Dump file should be dump-10109 > > madvise08.c:196: TPASS: madvise(..., MADV_DONTDUMP) > > madvise08.c:112: TINFO: Dump file should be dump-10110 > > madvise08.c:203: TFAIL: No sequence in dump after MADV_DODUMP. > > > > strace log, > > https://lkft.validation.linaro.org/scheduler/job/2184866#L1257 > > Ok, so in this part of the log, > > [pid 485] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_DUMPED, > si_pid=487, si_uid=0, si_status=SIGABRT, si_utime=0, si_stime=0} --- > [pid 485] write(2, \"madvise08.c:117: \33[1;34mTINFO: \33\"..., > 64madvise08.c:117: [1;34mTINFO: [0mDump file should be dump-487 > ) = 64 > [pid 485] access(\"dump-487\", F_OK) = 0 > [pid 485] openat(AT_FDCWD, \"dump-487\", O_RDONLY) = 3 > [pid 485] read(3, > \"\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\4\0>\0\1\0\0\0\0\0\0\0\0\0\0\0\"..., > 1024) = 1024 > [pid 485] read(3, > \"\0\320\3\0\0\0\0\0\0\340\375\24\304\177\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\"..., > 1024) = 292 > [pid 485] read(3, \"\", 1024) = 0 > [pid 485] close(3) = 0 > [pid 485] write(2, \"madvise08.c:208: \33[1;31mTFAIL: \33\"..., > 74madvise08.c:208: [1;31mTFAIL: [0mNo sequence in dump after > MADV_DODUMP. > > it seems that the data that was requested to be dumped with MADV_DODUMP is > indeed completely absent. > > There was exactly one commit that got merged between next-20210115 and > next-20120118 > related to core dumps: 8a3cc755b138 ("coredump: don't bother with > do_truncate()"). > Adding Al Viro to Cc for that. > > Naresh, could you try reverting that patch? This suspecting commit reverted and tested and the test case PASS. commit 8a3cc755b13808eba74846dfd1033fcbc21f9a65 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Mar 8 09:16:37 2020 -0400 coredump: don't bother with do_truncate() have dump_skip() just remember how much needs to be skipped, leave actual seeks/writing zeroes to the next dump_emit() or the end of coredump output, whichever comes first. And instead of playing with do_truncate() in the end, just write one NUL at the end of the last gap (if any). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> fs/binfmt_elf.c | 1 - fs/coredump.c | 56 +++++++++++++++++++++++++++--------------------- include/linux/binfmts.h | 1 + include/linux/coredump.h | 1 - Test case output link, https://lkft.validation.linaro.org/scheduler/job/2184975#L1369 https://lkft.validation.linaro.org/scheduler/job/2184972#L1358 - Naresh