bisecting cause commit starting from c6b11acc5f85b6e11d128fad8e0b7b223aa7e33f building syzkaller on a0092f9dfdd33924abe5cf5565e4ec4748217c7b testing commit c6b11acc5f85b6e11d128fad8e0b7b223aa7e33f with gcc (GCC) 8.1.0 kernel signature: 762036d3273a573b55200e9b19e1a233d73234791b8a5708f80708844860e603 all runs: crashed: BUG: unable to handle kernel paging request in workingset_age_nonresident testing release v5.9 testing commit bbf5c979011a099af5dc76498918ed7df445635b with gcc (GCC) 8.1.0 kernel signature: ae997c81c8480492441e712d3c127e3da959156d4e937c464609e101fa84e28c all runs: OK # git bisect start c6b11acc5f85b6e11d128fad8e0b7b223aa7e33f bbf5c979011a099af5dc76498918ed7df445635b Bisecting: 13113 revisions left to test after this (roughly 14 steps) [9313f8026328d0309d093f6774be4b8f5340c0e5] Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost testing commit 9313f8026328d0309d093f6774be4b8f5340c0e5 with gcc (GCC) 8.1.0 kernel signature: 539022670bc5eac3e89a518faae9e5b8ebd82351d5d922a59080d7be8785cfed all runs: OK # git bisect good 9313f8026328d0309d093f6774be4b8f5340c0e5 Bisecting: 6557 revisions left to test after this (roughly 13 steps) [e2b613d79fb6b75ee18d3ddfaa92b55037588a31] Merge remote-tracking branch 'pm/linux-next' testing commit e2b613d79fb6b75ee18d3ddfaa92b55037588a31 with gcc (GCC) 8.1.0 kernel signature: 26248a8f8013cef31952b594afec99d4c2d2241677430498cc4671c6f424602c all runs: OK # git bisect good e2b613d79fb6b75ee18d3ddfaa92b55037588a31 Bisecting: 3290 revisions left to test after this (roughly 12 steps) [cce7d01eb3567fb761429689595da4a3db981b5e] Merge remote-tracking branch 'regmap/for-next' testing commit cce7d01eb3567fb761429689595da4a3db981b5e with gcc (GCC) 8.1.0 kernel signature: 93b6b1d29a3a161b9906a88d7a4abed4feeb8d52df81db513670ad8a9a809d0f all runs: OK # git bisect good cce7d01eb3567fb761429689595da4a3db981b5e Bisecting: 1640 revisions left to test after this (roughly 11 steps) [9d31f180969f3ad0ecdf606370ec90403dcd10f8] Merge remote-tracking branch 'usb-chipidea-next/for-usb-next' testing commit 9d31f180969f3ad0ecdf606370ec90403dcd10f8 with gcc (GCC) 8.1.0 kernel signature: 5f067bca47cd0e048bb813af00a5ce4a1ec82bf81a8a227faefa5ecff773a30d all runs: OK # git bisect good 9d31f180969f3ad0ecdf606370ec90403dcd10f8 Bisecting: 828 revisions left to test after this (roughly 10 steps) [322d082176ae1e3dc73a7e7935fb91e29011cafb] Merge remote-tracking branch 'gpio-brgl/gpio/for-next' testing commit 322d082176ae1e3dc73a7e7935fb91e29011cafb with gcc (GCC) 8.1.0 kernel signature: 357cf319dbad0f12c10cc6438e8bb973c27591915a222506895606a3194d0137 all runs: OK # git bisect good 322d082176ae1e3dc73a7e7935fb91e29011cafb Bisecting: 425 revisions left to test after this (roughly 9 steps) [a598fa739fa3710a674830fa7264d9de81e8eebb] Merge remote-tracking branch 'memblock/for-next' testing commit a598fa739fa3710a674830fa7264d9de81e8eebb with gcc (GCC) 8.1.0 kernel signature: 7d1a11ed712d0a1f1b539e0001f33e83a6f24b2f515292fa2f126d21a7097a97 all runs: OK # git bisect good a598fa739fa3710a674830fa7264d9de81e8eebb Bisecting: 212 revisions left to test after this (roughly 8 steps) [42d92717e4224d44392d13a7f4b56c031d693c3c] mm, page_poison: use static key more efficiently testing commit 42d92717e4224d44392d13a7f4b56c031d693c3c with gcc (GCC) 8.1.0 kernel signature: 7b861ef3edd595edd08f01ef885886ca71ec7229dee6af53240314bdbef37494 all runs: OK # git bisect good 42d92717e4224d44392d13a7f4b56c031d693c3c Bisecting: 106 revisions left to test after this (roughly 7 steps) [4df219cffb40ace65457439cab1212a20f02aa62] drm/i915: make relay callbacks const testing commit 4df219cffb40ace65457439cab1212a20f02aa62 with gcc (GCC) 8.1.0 kernel signature: 2c5e8837aee8c90f3cedd050c3157b4703e56e7b47cf63973c83bd09704316c6 all runs: OK # git bisect good 4df219cffb40ace65457439cab1212a20f02aa62 Bisecting: 53 revisions left to test after this (roughly 6 steps) [0f824e0c8f9b4c0c5e14f14b934dc61464dda23f] kasan: hide invalid free check implementation testing commit 0f824e0c8f9b4c0c5e14f14b934dc61464dda23f with gcc (GCC) 8.1.0 kernel signature: d46eb01b02c84ca836c0be588018f8c5060172ac45467b149d5ff531a13a5885 all runs: OK # git bisect good 0f824e0c8f9b4c0c5e14f14b934dc61464dda23f Bisecting: 26 revisions left to test after this (roughly 5 steps) [516acc7b3c0bbda3fdd7542cd14a3e2281a84bc5] kasan, mm: reset tags when accessing metadata testing commit 516acc7b3c0bbda3fdd7542cd14a3e2281a84bc5 with gcc (GCC) 8.1.0 kernel signature: 58e7cf7a9112041e388a48bc4b6ad7195fa2664987cb95e5ffcf42b66682b5a5 all runs: OK # git bisect good 516acc7b3c0bbda3fdd7542cd14a3e2281a84bc5 Bisecting: 13 revisions left to test after this (roughly 4 steps) [102982d69097b3da3905b37f8876e373abbef947] kasan: inline (un)poison_range and check_invalid_free testing commit 102982d69097b3da3905b37f8876e373abbef947 with gcc (GCC) 8.1.0 kernel signature: 6b2278645ec3c996a16223bc71425275a54eff75706f47133b6f24df2bc7cbf3 all runs: OK # git bisect good 102982d69097b3da3905b37f8876e373abbef947 Bisecting: 6 revisions left to test after this (roughly 3 steps) [534246738f7f767c3c89ba1997fbb2bdaa8001d8] kasan: sanitize objects when metadata doesn't fit testing commit 534246738f7f767c3c89ba1997fbb2bdaa8001d8 with gcc (GCC) 8.1.0 kernel signature: ac09fd3749473894d1464af18dee96e065a3df2343958f68f22e59f4ab978566 all runs: OK # git bisect good 534246738f7f767c3c89ba1997fbb2bdaa8001d8 Bisecting: 3 revisions left to test after this (roughly 2 steps) [3578dd13e3d2bde38eecfc95e61e2a3f4f023450] mmap locking API: don't check locking if the mm isn't live yet testing commit 3578dd13e3d2bde38eecfc95e61e2a3f4f023450 with gcc (GCC) 8.1.0 kernel signature: a775a8e31232ec76ef51625f50aa57424f8bb150a630ae35c73641de5254f759 all runs: OK # git bisect good 3578dd13e3d2bde38eecfc95e61e2a3f4f023450 Bisecting: 1 revision left to test after this (roughly 1 step) [76761ffa9ea1ddca78e817bf7eec5fcb0378a00c] mm/memcg: bail out early when !memcg in mem_cgroup_lruvec testing commit 76761ffa9ea1ddca78e817bf7eec5fcb0378a00c with gcc (GCC) 8.1.0 kernel signature: 0c2723337f0ff63ca2cbc17bea508d12ed46f219e1b847817c3b2d5b69713caf all runs: crashed: BUG: unable to handle kernel paging request in workingset_age_nonresident # git bisect bad 76761ffa9ea1ddca78e817bf7eec5fcb0378a00c Bisecting: 0 revisions left to test after this (roughly 0 steps) [0b45ec93f6587c5ca1002b086889d50411873147] mm/gup: assert that the mmap lock is held in __get_user_pages() testing commit 0b45ec93f6587c5ca1002b086889d50411873147 with gcc (GCC) 8.1.0 kernel signature: cabffa7cc1601fbb70b30c53b0bf925ee2f91297b90acb71d5a422df6de52540 all runs: OK # git bisect good 0b45ec93f6587c5ca1002b086889d50411873147 76761ffa9ea1ddca78e817bf7eec5fcb0378a00c is the first bad commit commit 76761ffa9ea1ddca78e817bf7eec5fcb0378a00c Author: Alex Shi Date: Sun Nov 29 15:58:06 2020 -0800 mm/memcg: bail out early when !memcg in mem_cgroup_lruvec Sometime, we use NULL memcg in mem_cgroup_lruvec(memcg, pgdat) so we could get out early in the situation to avoid useless checking. Polished as Andrew Morton's suggestion. Link: https://lkml.kernel.org/r/9ddb17cd-cf5f-15b1-6a7d-986ee44fd5df@linux.alibaba.com Signed-off-by: Alex Shi Cc: Johannes Weiner Cc: Shakeel Butt Cc: Roman Gushchin Cc: Lorenzo Stoakes Cc: Stephen Rothwell Cc: Alexander Duyck Cc: Yafang Shao Cc: Wei Yang Cc: Michal Hocko Signed-off-by: Andrew Morton Signed-off-by: Stephen Rothwell include/linux/memcontrol.h | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) culprit signature: 0c2723337f0ff63ca2cbc17bea508d12ed46f219e1b847817c3b2d5b69713caf parent signature: cabffa7cc1601fbb70b30c53b0bf925ee2f91297b90acb71d5a422df6de52540 revisions tested: 17, total time: 3h46m51.485924817s (build: 1h16m1.148001621s, test: 2h29m6.179285929s) first bad commit: 76761ffa9ea1ddca78e817bf7eec5fcb0378a00c mm/memcg: bail out early when !memcg in mem_cgroup_lruvec recipients (to): ["akpm@linux-foundation.org" "alex.shi@linux.alibaba.com" "sfr@canb.auug.org.au"] recipients (cc): [] crash: BUG: unable to handle kernel paging request in workingset_age_nonresident BUG: unable to handle page fault for address: ffffffff811c264a #PF: supervisor write access in kernel mode #PF: error_code(0x0003) - permissions violation PGD 4c8b067 P4D 4c8b067 PUD 4c8c063 PMD 10001e1 Oops: 0003 [#1] PREEMPT SMP CPU: 1 PID: 10216 Comm: syz-executor.2 Not tainted 5.10.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:mem_cgroup_lruvec include/linux/memcontrol.h:630 [inline] RIP: 0010:parent_lruvec include/linux/memcontrol.h:1560 [inline] RIP: 0010:workingset_age_nonresident+0x60/0x70 mm/workingset.c:242 Code: 44 00 00 48 63 8a 80 4b 00 00 48 8b bc c8 58 0d 00 00 48 3b 97 c0 00 00 00 75 0f 48 85 ff 75 aa c3 48 8d ba 18 4d 00 00 eb e8 <48> 89 97 c0 00 00 00 eb e8 0f 1f 80 00 00 00 00 48 8b 17 49 89 f8 RSP: 0018:ffffc9000296b9e0 EFLAGS: 00010096 RAX: ffffffff865a3458 RBX: ffffea00047b8040 RCX: 0000000000000000 RDX: ffff88813fffb000 RSI: 0000000000000001 RDI: ffffffff811c258a RBP: ffff88810e460408 R08: ffffea00047b8040 R09: ffff88813fffb000 R10: ffff88813ffffd18 R11: 0000000000000001 R12: ffff88810e460400 R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000246 FS: 00007fd98f82b700(0000) GS:ffff88813bd00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffff811c264a CR3: 000000011ef8d000 CR4: 00000000001506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: workingset_eviction+0xdc/0x270 mm/workingset.c:266 __remove_mapping+0x24b/0x2f0 mm/vmscan.c:927 shrink_page_list+0x109d/0x1720 mm/vmscan.c:1431 reclaim_pages+0x179/0x3b0 mm/vmscan.c:2148 madvise_cold_or_pageout_pte_range+0x758/0xbd0 mm/madvise.c:473 walk_pmd_range mm/pagewalk.c:89 [inline] walk_pud_range mm/pagewalk.c:160 [inline] walk_p4d_range mm/pagewalk.c:193 [inline] walk_pgd_range mm/pagewalk.c:229 [inline] __walk_page_range+0x32e/0x950 mm/pagewalk.c:331 walk_page_range+0xac/0x170 mm/pagewalk.c:427 madvise_pageout_page_range mm/madvise.c:526 [inline] madvise_pageout+0xa4/0x110 mm/madvise.c:562 madvise_vma mm/madvise.c:943 [inline] do_madvise+0x1f3/0xde0 mm/madvise.c:1142 __do_sys_madvise mm/madvise.c:1168 [inline] __se_sys_madvise mm/madvise.c:1166 [inline] __x64_sys_madvise+0x21/0x30 mm/madvise.c:1166 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45deb9 Code: 0d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 db b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007fd98f82ac78 EFLAGS: 00000246 ORIG_RAX: 000000000000001c RAX: ffffffffffffffda RBX: 0000000000020ec0 RCX: 000000000045deb9 RDX: 0000000000000015 RSI: 0000000000600003 RDI: 0000000020000000 RBP: 000000000118bf60 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000118bf2c R13: 00007fff7410877f R14: 00007fd98f82b9c0 R15: 000000000118bf2c Modules linked in: CR2: ffffffff811c264a ---[ end trace 0e93d2b035ffbd17 ]--- RIP: 0010:mem_cgroup_lruvec include/linux/memcontrol.h:630 [inline] RIP: 0010:parent_lruvec include/linux/memcontrol.h:1560 [inline] RIP: 0010:workingset_age_nonresident+0x60/0x70 mm/workingset.c:242 Code: 44 00 00 48 63 8a 80 4b 00 00 48 8b bc c8 58 0d 00 00 48 3b 97 c0 00 00 00 75 0f 48 85 ff 75 aa c3 48 8d ba 18 4d 00 00 eb e8 <48> 89 97 c0 00 00 00 eb e8 0f 1f 80 00 00 00 00 48 8b 17 49 89 f8 RSP: 0018:ffffc9000296b9e0 EFLAGS: 00010096 RAX: ffffffff865a3458 RBX: ffffea00047b8040 RCX: 0000000000000000 RDX: ffff88813fffb000 RSI: 0000000000000001 RDI: ffffffff811c258a RBP: ffff88810e460408 R08: ffffea00047b8040 R09: ffff88813fffb000 R10: ffff88813ffffd18 R11: 0000000000000001 R12: ffff88810e460400 R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000246 FS: 00007fd98f82b700(0000) GS:ffff88813bd00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffff811c264a CR3: 000000011ef8d000 CR4: 00000000001506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400