* BUG: unable to handle kernel paging request in isolate_freepages_block @ 2019-05-07 9:50 syzbot 2019-05-09 9:57 ` Mel Gorman 0 siblings, 1 reply; 3+ messages in thread From: syzbot @ 2019-05-07 9:50 UTC (permalink / raw) To: akpm, aryabinin, cai, linux-kernel, linux-mm, mgorman, mhocko, syzkaller-bugs, vbabka Hello, syzbot found the following crash on: HEAD commit: baf76f0c slip: make slhc_free() silently accept an error p.. git tree: upstream console output: https://syzkaller.appspot.com/x/log.txt?x=16dbe6cca00000 kernel config: https://syzkaller.appspot.com/x/.config?x=a42d110b47dd6b36 dashboard link: https://syzkaller.appspot.com/bug?extid=d84c80f9fe26a0f7a734 compiler: gcc (GCC) 9.0.0 20181231 (experimental) Unfortunately, I don't have any reproducer for this crash yet. IMPORTANT: if you fix the bug, please add the following tag to the commit: Reported-by: syzbot+d84c80f9fe26a0f7a734@syzkaller.appspotmail.com BUG: unable to handle kernel paging request at ffffea0003348000 #PF error: [normal kernel read fault] PGD 12c3f9067 P4D 12c3f9067 PUD 12c3f8067 PMD 0 Oops: 0000 [#1] PREEMPT SMP KASAN CPU: 1 PID: 28916 Comm: syz-executor.2 Not tainted 5.1.0-rc6+ #89 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:constant_test_bit arch/x86/include/asm/bitops.h:314 [inline] RIP: 0010:PageCompound include/linux/page-flags.h:186 [inline] RIP: 0010:isolate_freepages_block+0x1c0/0xd40 mm/compaction.c:579 Code: 01 d8 ff 4d 85 ed 0f 84 ef 07 00 00 e8 29 00 d8 ff 4c 89 e0 83 85 38 ff ff ff 01 48 c1 e8 03 42 80 3c 38 00 0f 85 31 0a 00 00 <4d> 8b 2c 24 31 ff 49 c1 ed 10 41 83 e5 01 44 89 ee e8 3a 01 d8 ff RSP: 0018:ffff88802b31eab8 EFLAGS: 00010246 RAX: 1ffffd4000669000 RBX: 00000000000cd200 RCX: ffffc9000a235000 RDX: 000000000001ca5e RSI: ffffffff81988cc7 RDI: 0000000000000001 RBP: ffff88802b31ebd8 R08: ffff88805af700c0 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffffea0003348000 R13: 0000000000000000 R14: ffff88802b31f030 R15: dffffc0000000000 FS: 00007f61648dc700(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffea0003348000 CR3: 0000000037c64000 CR4: 00000000001426e0 Call Trace: fast_isolate_around mm/compaction.c:1243 [inline] fast_isolate_freepages mm/compaction.c:1418 [inline] isolate_freepages mm/compaction.c:1438 [inline] compaction_alloc+0x1aee/0x22e0 mm/compaction.c:1550 unmap_and_move mm/migrate.c:1180 [inline] migrate_pages+0x484/0x2cd0 mm/migrate.c:1431 compact_zone+0x1b4f/0x38f0 mm/compaction.c:2181 compact_zone_order+0x1af/0x2a0 mm/compaction.c:2306 try_to_compact_pages+0x268/0xaf0 mm/compaction.c:2358 __alloc_pages_direct_compact+0x154/0x460 mm/page_alloc.c:3786 __alloc_pages_slowpath+0xb14/0x28b0 mm/page_alloc.c:4425 __alloc_pages_nodemask+0x602/0x8d0 mm/page_alloc.c:4633 __alloc_pages include/linux/gfp.h:473 [inline] __alloc_pages_node include/linux/gfp.h:486 [inline] alloc_pages_vma+0x39a/0x540 mm/mempolicy.c:2088 do_huge_pmd_anonymous_page+0x509/0x1730 mm/huge_memory.c:740 create_huge_pmd mm/memory.c:3701 [inline] __handle_mm_fault+0x2d5e/0x3ec0 mm/memory.c:3905 handle_mm_fault+0x43f/0xb30 mm/memory.c:3971 faultin_page mm/gup.c:548 [inline] __get_user_pages+0x7b6/0x1a40 mm/gup.c:751 __get_user_pages_locked mm/gup.c:927 [inline] get_user_pages_remote+0x21d/0x440 mm/gup.c:1119 process_vm_rw_single_vec mm/process_vm_access.c:113 [inline] process_vm_rw_core.isra.0+0x464/0xb10 mm/process_vm_access.c:220 process_vm_rw+0x21f/0x240 mm/process_vm_access.c:288 __do_sys_process_vm_writev mm/process_vm_access.c:310 [inline] __se_sys_process_vm_writev mm/process_vm_access.c:305 [inline] __x64_sys_process_vm_writev+0xe3/0x1a0 mm/process_vm_access.c:305 do_syscall_64+0x103/0x610 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x458da9 Code: ad b8 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 7b b8 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007f61648dbc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000137 RAX: ffffffffffffffda RBX: 0000000000000006 RCX: 0000000000458da9 RDX: 0000000000000001 RSI: 0000000020000000 RDI: 0000000000004a77 RBP: 000000000073bf00 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000020000040 R11: 0000000000000246 R12: 00007f61648dc6d4 R13: 00000000004c5b1e R14: 00000000004d9e90 R15: 00000000ffffffff Modules linked in: CR2: ffffea0003348000 ---[ end trace 50f8738754fa12f3 ]--- RIP: 0010:constant_test_bit arch/x86/include/asm/bitops.h:314 [inline] RIP: 0010:PageCompound include/linux/page-flags.h:186 [inline] RIP: 0010:isolate_freepages_block+0x1c0/0xd40 mm/compaction.c:579 Code: 01 d8 ff 4d 85 ed 0f 84 ef 07 00 00 e8 29 00 d8 ff 4c 89 e0 83 85 38 ff ff ff 01 48 c1 e8 03 42 80 3c 38 00 0f 85 31 0a 00 00 <4d> 8b 2c 24 31 ff 49 c1 ed 10 41 83 e5 01 44 89 ee e8 3a 01 d8 ff RSP: 0018:ffff88802b31eab8 EFLAGS: 00010246 RAX: 1ffffd4000669000 RBX: 00000000000cd200 RCX: ffffc9000a235000 RDX: 000000000001ca5e RSI: ffffffff81988cc7 RDI: 0000000000000001 RBP: ffff88802b31ebd8 R08: ffff88805af700c0 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffffea0003348000 R13: 0000000000000000 R14: ffff88802b31f030 R15: dffffc0000000000 FS: 00007f61648dc700(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffea0003348000 CR3: 0000000037c64000 CR4: 00000000001426e0 --- This bug is generated by a bot. It may contain errors. See https://goo.gl/tpsmEJ for more information about syzbot. syzbot engineers can be reached at syzkaller@googlegroups.com. syzbot will keep track of this bug report. See: https://goo.gl/tpsmEJ#status for how to communicate with syzbot. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: BUG: unable to handle kernel paging request in isolate_freepages_block 2019-05-07 9:50 BUG: unable to handle kernel paging request in isolate_freepages_block syzbot @ 2019-05-09 9:57 ` Mel Gorman 2019-05-09 10:11 ` Dmitry Vyukov 0 siblings, 1 reply; 3+ messages in thread From: Mel Gorman @ 2019-05-09 9:57 UTC (permalink / raw) To: syzbot Cc: akpm, aryabinin, cai, linux-kernel, linux-mm, mhocko, syzkaller-bugs, vbabka On Tue, May 07, 2019 at 02:50:05AM -0700, syzbot wrote: > Hello, > > syzbot found the following crash on: > > HEAD commit: baf76f0c slip: make slhc_free() silently accept an error p.. > git tree: upstream > console output: https://syzkaller.appspot.com/x/log.txt?x=16dbe6cca00000 > kernel config: https://syzkaller.appspot.com/x/.config?x=a42d110b47dd6b36 > dashboard link: https://syzkaller.appspot.com/bug?extid=d84c80f9fe26a0f7a734 > compiler: gcc (GCC) 9.0.0 20181231 (experimental) > > Unfortunately, I don't have any reproducer for this crash yet. > How reproducible is it and can the following (compile tested only) patch be tested please? I'm thinking it's a similar class of bug to 6b0868c820ff ("mm/compaction.c: correct zone boundary handling when resetting pageblock skip hints") diff --git a/mm/compaction.c b/mm/compaction.c index 3319e0872d01..ae4d99d31b61 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -1228,7 +1228,7 @@ fast_isolate_around(struct compact_control *cc, unsigned long pfn, unsigned long /* Pageblock boundaries */ start_pfn = pageblock_start_pfn(pfn); - end_pfn = min(start_pfn + pageblock_nr_pages, zone_end_pfn(cc->zone)); + end_pfn = min(start_pfn + pageblock_nr_pages, zone_end_pfn(cc->zone) - 1); /* Scan before */ if (start_pfn != pfn) { @@ -1239,7 +1239,7 @@ fast_isolate_around(struct compact_control *cc, unsigned long pfn, unsigned long /* Scan after */ start_pfn = pfn + nr_isolated; - if (start_pfn != end_pfn) + if (start_pfn < end_pfn) isolate_freepages_block(cc, &start_pfn, end_pfn, &cc->freepages, 1, false); /* Skip this pageblock in the future as it's full or nearly full */ ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: BUG: unable to handle kernel paging request in isolate_freepages_block 2019-05-09 9:57 ` Mel Gorman @ 2019-05-09 10:11 ` Dmitry Vyukov 0 siblings, 0 replies; 3+ messages in thread From: Dmitry Vyukov @ 2019-05-09 10:11 UTC (permalink / raw) To: Mel Gorman Cc: syzbot, Andrew Morton, Andrey Ryabinin, Qian Cai, LKML, Linux-MM, Michal Hocko, syzkaller-bugs, Vlastimil Babka > On Tue, May 07, 2019 at 02:50:05AM -0700, syzbot wrote: > > Hello, > > > > syzbot found the following crash on: > > > > HEAD commit: baf76f0c slip: make slhc_free() silently accept an error p.. > > git tree: upstream > > console output: https://syzkaller.appspot.com/x/log.txt?x=16dbe6cca00000 > > kernel config: https://syzkaller.appspot.com/x/.config?x=a42d110b47dd6b36 > > dashboard link: https://syzkaller.appspot.com/bug?extid=d84c80f9fe26a0f7a734 > > compiler: gcc (GCC) 9.0.0 20181231 (experimental) > > > > Unfortunately, I don't have any reproducer for this crash yet. > > > > How reproducible is it and can the following (compile tested only) patch > be tested please? I'm thinking it's a similar class of bug to 6b0868c820ff > ("mm/compaction.c: correct zone boundary handling when resetting pageblock > skip hints") Hi Mel, The info about reproducibility is always available on the dashboard: > > dashboard link: https://syzkaller.appspot.com/bug?extid=d84c80f9fe26a0f7a734 So far it happened only 3 times which is not very frequent, 1 crash every few days. syzbot did not come up with a reproducer so far. If you think this should fix the bug, commit the patch, syzbot will close the bug and then notify us again if the crash will happen again after the patch reaches all tested trees. > diff --git a/mm/compaction.c b/mm/compaction.c > index 3319e0872d01..ae4d99d31b61 100644 > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -1228,7 +1228,7 @@ fast_isolate_around(struct compact_control *cc, unsigned long pfn, unsigned long > > /* Pageblock boundaries */ > start_pfn = pageblock_start_pfn(pfn); > - end_pfn = min(start_pfn + pageblock_nr_pages, zone_end_pfn(cc->zone)); > + end_pfn = min(start_pfn + pageblock_nr_pages, zone_end_pfn(cc->zone) - 1); > > /* Scan before */ > if (start_pfn != pfn) { > @@ -1239,7 +1239,7 @@ fast_isolate_around(struct compact_control *cc, unsigned long pfn, unsigned long > > /* Scan after */ > start_pfn = pfn + nr_isolated; > - if (start_pfn != end_pfn) > + if (start_pfn < end_pfn) > isolate_freepages_block(cc, &start_pfn, end_pfn, &cc->freepages, 1, false); > > /* Skip this pageblock in the future as it's full or nearly full */ ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-05-09 10:12 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-05-07 9:50 BUG: unable to handle kernel paging request in isolate_freepages_block syzbot 2019-05-09 9:57 ` Mel Gorman 2019-05-09 10:11 ` Dmitry Vyukov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).