From: Hyeonggon Yoo <42.hyeyoo@gmail.com>
To: sj@kernel.org
Cc: linux-mm@kvack.org, akpm@linux-foundation.org, damon@lists.linux.dev
Subject: Re: DAMON KUNIT test failure in latest mm-everything
Date: Sun, 2 Oct 2022 16:24:29 +0900 [thread overview]
Message-ID: <Yzk8rfGNTTiU3tH0@hyeyoo> (raw)
In-Reply-To: <YzkSd/oug4Gus2tJ@hyeyoo>
On Sun, Oct 02, 2022 at 01:24:23PM +0900, Hyeonggon Yoo wrote:
> Hi guys, yesterday I just built and booted latest mm-everything,
> and I got following report from KUNIT test.
>
> Environment:
> - x86_64, gcc 11.2.0
> - mm-everything (tag: mm-everything-2022-10-01-01-55)
> - config attached
>
> Report (stacktrace decoded):
FYI, below is the bad commit from git bisection ;)
Thanks!
065530b966a42d63f214ba40427dc8d00345f573 is the first bad commit
commit 065530b966a42d63f214ba40427dc8d00345f573
Author: SeongJae Park <sj@kernel.org>
Date: Fri Sep 9 20:28:57 2022 +0000
mm/damon/core-test: test damon_set_regions
Preceding commit fixes a bug in 'damon_set_regions()', which allows holes
in the new monitoring target ranges. This commit adds a kunit test case
for the problem to avoid any regression.
Link: https://lkml.kernel.org/r/20220909202901.57977-4-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Yun Levi <ppbuk5246@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/core-test.h | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
> [ 37.158892] ok 5 - damon_test_merge_two
> [ 37.159934] ok 6 - damon_test_merge_regions_of
> [ 37.196173] ok 7 - damon_test_split_regions_of
> [ 37.198029] ok 8 - damon_test_ops_registration
> [ 37.199802] list_del corruption, ffff88811f1c21a0->next is NULL
> [ 37.201069] ------------[ cut here ]------------
> [ 37.201553] kernel BUG at lib/list_debug.c:49!
> [ 37.202026] invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
> [ 37.202632] CPU: 16 PID: 375 Comm: kunit_try_catch Tainted: G B N 6.0.0-rc3+ #1841
> [ 37.203544] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014
> [ 37.204680] RIP: 0010:__list_del_entry_valid.cold (lib/list_debug.c:49 (discriminator 3))
> [ 37.205642] Code: c7 c7 20 b9 51 83 e8 a3 08 fd ff 0f 0b 48 c7 c7 c0 b8 51 83 e8 95 08 fd ff 0f 0b 48 89 ee 48 c7 c7 80 ba 51 83 e8 84 08 fd ff <0f> 0b 4c 89 e1 4c 89 f6 48 c7 c7 80 bc 51 83 e8 70 08 fd ff 0f 0b
> All code
> ========
> 0: c7 c7 20 b9 51 83 mov $0x8351b920,%edi
> 6: e8 a3 08 fd ff call 0xfffffffffffd08ae
> b: 0f 0b ud2
> d: 48 c7 c7 c0 b8 51 83 mov $0xffffffff8351b8c0,%rdi
> 14: e8 95 08 fd ff call 0xfffffffffffd08ae
> 19: 0f 0b ud2
> 1b: 48 89 ee mov %rbp,%rsi
> 1e: 48 c7 c7 80 ba 51 83 mov $0xffffffff8351ba80,%rdi
> 25: e8 84 08 fd ff call 0xfffffffffffd08ae
> 2a:* 0f 0b ud2 <-- trapping instruction
> 2c: 4c 89 e1 mov %r12,%rcx
> 2f: 4c 89 f6 mov %r14,%rsi
> 32: 48 c7 c7 80 bc 51 83 mov $0xffffffff8351bc80,%rdi
> 39: e8 70 08 fd ff call 0xfffffffffffd08ae
> 3e: 0f 0b ud2
>
> Code starting with the faulting instruction
> ===========================================
> 0: 0f 0b ud2
> 2: 4c 89 e1 mov %r12,%rcx
> 5: 4c 89 f6 mov %r14,%rsi
> 8: 48 c7 c7 80 bc 51 83 mov $0xffffffff8351bc80,%rdi
> f: e8 70 08 fd ff call 0xfffffffffffd0884
> 14: 0f 0b ud2
> [ 37.209099] RSP: 0018:ffff88811f9e7d48 EFLAGS: 00010286
> [ 37.210008] RAX: 0000000000000033 RBX: ffff88811f1c2170 RCX: 0000000000000000
> [ 37.211292] RDX: ffff888113d736c0 RSI: 0000000000000000 RDI: ffffed1023f3cf9b
> [ 37.212637] RBP: ffff88811f1c21a0 R08: 0000000000000033 R09: ffff88811f9e7a47
> [ 37.213961] R10: 0000000080000000 R11: 0000000000000001 R12: 0000000000000000
> [ 37.215324] R13: 0000000000000000 R14: ffff88811f1c21a8 R15: 000000000000001c
> [ 37.216678] FS: 0000000000000000(0000) GS:ffff8881e3600000(0000) knlGS:0000000000000000
> [ 37.218165] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 37.219225] CR2: 00007fd98b8a3e40 CR3: 000000000442c000 CR4: 0000000000750ee0
> [ 37.220622] PKRU: 55555554
> [ 37.221132] Call Trace:
> [ 37.221554] <TASK>
> [ 37.221927] damon_test_set_regions (./include/linux/list.h:134 ./include/linux/list.h:148 mm/damon/core.c:354 mm/damon/core.c:368 mm/damon/core-test.h:289)
> [ 37.222765] ? damon_set_regions (mm/damon/core-test.h:271)
> [ 37.223571] ? rcu_read_lock_sched_held (kernel/rcu/update.c:104 kernel/rcu/update.c:123)
> [ 37.224495] ? lock_acquire (kernel/locking/lockdep.c:5639)
> [ 37.225203] ? lock_release (kernel/locking/lockdep.c:115 kernel/locking/lockdep.c:5679)
> [ 37.225912] ? rcu_read_lock_sched_held (kernel/rcu/update.c:104 kernel/rcu/update.c:123)
> [ 37.226806] ? __kthread_parkme (./include/linux/instrumented.h:72 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 kernel/kthread.c:270)
> [ 37.227587] ? lock_acquired (kernel/locking/lockdep.c:115 kernel/locking/lockdep.c:5913)
> [ 37.228357] ? lock_downgrade (kernel/locking/lockdep.c:5674)
> [ 37.229127] ? io_schedule_timeout (kernel/sched/core.c:6391)
> [ 37.229940] ? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4273)
> [ 37.230864] ? kunit_try_catch_throw (lib/kunit/try-catch.c:25)
> [ 37.231699] kunit_try_run_case (lib/kunit/test.c:382)
> [ 37.232492] ? kunit_catch_run_case (lib/kunit/test.c:367)
> [ 37.233310] ? kunit_try_catch_throw (lib/kunit/try-catch.c:25)
> [ 37.234099] kunit_generic_run_threadfn_adapter (lib/kunit/try-catch.c:30)
> [ 37.235099] kthread (kernel/kthread.c:376)
> [ 37.235663] ? kthread_complete_and_exit (kernel/kthread.c:331)
> [ 37.236556] ret_from_fork (arch/x86/entry/entry_64.S:312)
> [ 37.237242] </TASK>
> [ 37.237662] Modules linked in:
> [ 37.238298] ---[ end trace 0000000000000000 ]---
> [ 37.239157] RIP: 0010:__list_del_entry_valid.cold (lib/list_debug.c:49 (discriminator 3))
> [ 37.240247] Code: c7 c7 20 b9 51 83 e8 a3 08 fd ff 0f 0b 48 c7 c7 c0 b8 51 83 e8 95 08 fd ff 0f 0b 48 89 ee 48 c7 c7 80 ba 51 83 e8 84 08 fd ff <0f> 0b 4c 89 e1 4c 89 f6 48 c7 c7 80 bc 51 83 e8 70 08 fd ff 0f 0b
> All code
> ========
> 0: c7 c7 20 b9 51 83 mov $0x8351b920,%edi
> 6: e8 a3 08 fd ff call 0xfffffffffffd08ae
> b: 0f 0b ud2
> d: 48 c7 c7 c0 b8 51 83 mov $0xffffffff8351b8c0,%rdi
> 14: e8 95 08 fd ff call 0xfffffffffffd08ae
> 19: 0f 0b ud2
> 1b: 48 89 ee mov %rbp,%rsi
> 1e: 48 c7 c7 80 ba 51 83 mov $0xffffffff8351ba80,%rdi
> 25: e8 84 08 fd ff call 0xfffffffffffd08ae
> 2a:* 0f 0b ud2 <-- trapping instruction
> 2c: 4c 89 e1 mov %r12,%rcx
> 2f: 4c 89 f6 mov %r14,%rsi
> 32: 48 c7 c7 80 bc 51 83 mov $0xffffffff8351bc80,%rdi
> 39: e8 70 08 fd ff call 0xfffffffffffd08ae
> 3e: 0f 0b ud2
>
> Code starting with the faulting instruction
> ===========================================
> 0: 0f 0b ud2
> 2: 4c 89 e1 mov %r12,%rcx
> 5: 4c 89 f6 mov %r14,%rsi
> 8: 48 c7 c7 80 bc 51 83 mov $0xffffffff8351bc80,%rdi
> f: e8 70 08 fd ff call 0xfffffffffffd0884
> 14: 0f 0b ud2
> [ 37.243633] RSP: 0018:ffff88811f9e7d48 EFLAGS: 00010286
> [ 37.244691] RAX: 0000000000000033 RBX: ffff88811f1c2170 RCX: 0000000000000000
> [ 37.246006] RDX: ffff888113d736c0 RSI: 0000000000000000 RDI: ffffed1023f3cf9b
> [ 37.247321] RBP: ffff88811f1c21a0 R08: 0000000000000033 R09: ffff88811f9e7a47
> [ 37.248700] R10: 0000000080000000 R11: 0000000000000001 R12: 0000000000000000
> [ 37.250023] R13: 0000000000000000 R14: ffff88811f1c21a8 R15: 000000000000001c
> [ 37.251355] FS: 0000000000000000(0000) GS:ffff8881e3600000(0000) knlGS:0000000000000000
> [ 37.252914] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 37.254000] CR2: 00007fd98b8a3e40 CR3: 000000000442c000 CR4: 0000000000750ee0
> [ 37.255357] PKRU: 55555554
>
> --
> Thanks,
> Hyeonggon
next prev parent reply other threads:[~2022-10-02 7:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-02 4:24 Hyeonggon Yoo
2022-10-02 7:24 ` Hyeonggon Yoo [this message]
2022-10-02 19:36 ` SeongJae Park
2022-10-03 6:37 ` Hyeonggon Yoo
2022-10-03 16:48 ` SeongJae Park
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Yzk8rfGNTTiU3tH0@hyeyoo \
--to=42.hyeyoo@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=damon@lists.linux.dev \
--cc=linux-mm@kvack.org \
--cc=sj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox