bisecting fixing commit since cbfa1702aaf69b2311ea1b35e04f113c48368c67 building syzkaller on 2d5ea0cb6edb828803beea8af38dbc04dc80f028 testing commit cbfa1702aaf69b2311ea1b35e04f113c48368c67 with gcc (GCC) 8.1.0 kernel signature: 378f15d1431fb5d96aeec766d147738334d42d6044b3bff32cb8081afa3e7f00 run #0: crashed: KASAN: use-after-free Read in search_by_entry_key run #1: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #2: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #3: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #4: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #5: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #6: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #7: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #8: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #9: crashed: KASAN: out-of-bounds Read in leaf_paste_entries testing current HEAD 5b7a52cd2eef952cee8a72512ef370bcdef46636 testing commit 5b7a52cd2eef952cee8a72512ef370bcdef46636 with gcc (GCC) 8.1.0 kernel signature: 4b6f3592cb14d53fef67bd277ff9c81d8fb709f44f58da118b3844ab3c944902 run #0: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #1: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #2: crashed: KASAN: use-after-free Read in search_by_entry_key run #3: crashed: KASAN: use-after-free Read in search_by_entry_key run #4: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #5: crashed: KASAN: use-after-free Read in search_by_entry_key run #6: crashed: KASAN: use-after-free Read in leaf_paste_entries run #7: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #8: crashed: KASAN: out-of-bounds Read in leaf_paste_entries run #9: crashed: KASAN: out-of-bounds Read in leaf_paste_entries revisions tested: 2, total time: 22m53.683454516s (build: 15m48.254274787s, test: 6m37.015801293s) the crash still happens on HEAD commit msg: Linux 4.14.202 crash: KASAN: out-of-bounds Read in leaf_paste_entries REISERFS (device loop5): checking transaction log (loop5) REISERFS (device loop4): checking transaction log (loop4) REISERFS (device loop2): Using r5 hash to sort names REISERFS (device loop2): using 3.5.x disk format ================================================================== BUG: KASAN: out-of-bounds in memmove include/linux/string.h:387 [inline] BUG: KASAN: out-of-bounds in leaf_paste_entries+0x3f7/0xa20 fs/reiserfs/lbalance.c:1378 Read of size 18446744073709473760 at addr ffff88806f76cfbf by task syz-executor.2/7903 CPU: 0 PID: 7903 Comm: syz-executor.2 Not tainted 4.14.202-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x14b/0x1f1 lib/dump_stack.c:58 print_address_description.cold.6+0x9/0x1ca mm/kasan/report.c:252 kasan_report_error mm/kasan/report.c:351 [inline] kasan_report.cold.7+0x11a/0x2d4 mm/kasan/report.c:409 check_memory_region_inline mm/kasan/kasan.c:260 [inline] check_memory_region+0x13c/0x1b0 mm/kasan/kasan.c:267 memmove+0x23/0x50 mm/kasan/kasan.c:293 memmove include/linux/string.h:387 [inline] leaf_paste_entries+0x3f7/0xa20 fs/reiserfs/lbalance.c:1378 balance_leaf_finish_node_paste_dirent fs/reiserfs/do_balan.c:1306 [inline] balance_leaf_finish_node_paste.isra.15+0x494/0x12b0 fs/reiserfs/do_balan.c:1332 balance_leaf_finish_node fs/reiserfs/do_balan.c:1375 [inline] balance_leaf fs/reiserfs/do_balan.c:1463 [inline] do_balance+0x257c/0x67e0 fs/reiserfs/do_balan.c:1899 reiserfs_paste_into_item+0x44f/0x570 fs/reiserfs/stree.c:2142 reiserfs_add_entry+0x6d5/0xa50 fs/reiserfs/namei.c:566 reiserfs_mkdir+0x586/0x820 fs/reiserfs/namei.c:858 xattr_mkdir.constprop.6+0x80/0xc0 fs/reiserfs/xattr.c:76 create_privroot fs/reiserfs/xattr.c:880 [inline] reiserfs_xattr_init+0x391/0x930 fs/reiserfs/xattr.c:1002 reiserfs_fill_super+0x199b/0x26e0 fs/reiserfs/super.c:2180 mount_bdev+0x26f/0x330 fs/super.c:1134 get_super_block+0x10/0x20 fs/reiserfs/super.c:2609 mount_fs+0x7f/0x269 fs/super.c:1237 vfs_kern_mount.part.9+0x58/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x352/0x2af0 fs/namespace.c:2879 SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xb1/0xd0 fs/namespace.c:3072 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x460bca RSP: 002b:00007f4161ed7a88 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 00007f4161ed7b20 RCX: 0000000000460bca RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007f4161ed7ae0 RBP: 00007f4161ed7ae0 R08: 00007f4161ed7b20 R09: 0000000020000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000020000000 R13: 0000000020000100 R14: 0000000020000140 R15: 0000000020000040 The buggy address belongs to the page: page:ffffea0001bddb00 count:1 mapcount:0 mapping:ffff888096f6a848 index:0x192b flags: 0xfffe000004003c(referenced|uptodate|dirty|lru|swapbacked) raw: 00fffe000004003c ffff888096f6a848 000000000000192b 00000001ffffffff raw: ffffea0001bddae0 ffffea0001bdc960 0000000000000000 ffff8880b5843300 page dumped because: kasan: bad access detected page->mem_cgroup:ffff8880b5843300 Memory state around the buggy address: ffff88806f76ce80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff88806f76cf00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff88806f76cf80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ ffff88806f76d000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff88806f76d080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ================================================================== REISERFS (device loop4): Using r5 hash to sort names REISERFS (device loop4): using 3.5.x disk format kasan: CONFIG_KASAN_INLINE enabled kasan: GPF could be caused by NULL-ptr deref or user memory access general protection fault: 0000 [#1] PREEMPT SMP KASAN Modules linked in: CPU: 0 PID: 8068 Comm: syz-executor.3 Tainted: G B 4.14.202-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 task: ffff8880a43da5c0 task.stack: ffff888097408000 RIP: 0010:__list_del_entry_valid+0x84/0xf3 lib/list_debug.c:51 RSP: 0018:ffff88809740f110 EFLAGS: 00010046 RAX: dffffc0000000000 RBX: ffff88806998d658 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88806998d660 RBP: ffff88809740f128 R08: 0000000000000001 R09: 0000000000000001 R10: ffff88806998d668 R11: ffff8880a43da5c0 R12: 0000000000000000 R13: 0000000000000000 R14: ffff88806998d660 R15: ffff88806998d7a8 FS: 00007f468c837700(0000) GS:ffff8880ba800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f34fee4b010 CR3: 00000000976a7000 CR4: 00000000001406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __list_del_entry include/linux/list.h:117 [inline] list_del_init include/linux/list.h:159 [inline] list_lru_del+0xe5/0x470 mm/list_lru.c:134 workingset_update_node+0x142/0x1d0 mm/workingset.c:364 __radix_tree_replace+0xb3/0x1a0 lib/radix-tree.c:1204 page_cache_tree_insert+0x1b6/0x300 mm/filemap.c:136 __add_to_page_cache_locked+0x231/0x780 mm/filemap.c:782 add_to_page_cache_lru+0xd1/0x2c0 mm/filemap.c:830 pagecache_get_page+0x22b/0x7c0 mm/filemap.c:1512 find_or_create_page include/linux/pagemap.h:326 [inline] grow_dev_page fs/buffer.c:1004 [inline] grow_buffers fs/buffer.c:1077 [inline] __getblk_slow fs/buffer.c:1104 [inline] __getblk_gfp+0x1df/0x690 fs/buffer.c:1383 __getblk include/linux/buffer_head.h:388 [inline] reiserfs_breada+0x11f/0x320 fs/reiserfs/journal.c:2345 journal_read fs/reiserfs/journal.c:2455 [inline] journal_init+0x2045/0x6590 fs/reiserfs/journal.c:2890 reiserfs_fill_super+0x96c/0x26e0 fs/reiserfs/super.c:2035 mount_bdev+0x26f/0x330 fs/super.c:1134 get_super_block+0x10/0x20 fs/reiserfs/super.c:2609 mount_fs+0x7f/0x269 fs/super.c:1237 vfs_kern_mount.part.9+0x58/0x3c0 fs/namespace.c:1046 vfs_kern_mount fs/namespace.c:1036 [inline] do_new_mount fs/namespace.c:2549 [inline] do_mount+0x352/0x2af0 fs/namespace.c:2879 kasan: CONFIG_KASAN_INLINE enabled kasan: GPF could be caused by NULL-ptr deref or user memory access SYSC_mount fs/namespace.c:3095 [inline] SyS_mount+0xb1/0xd0 fs/namespace.c:3072 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x460bca RSP: 002b:00007f468c836a88 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 00007f468c836b20 RCX: 0000000000460bca RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007f468c836ae0 RBP: 00007f468c836ae0 R08: 00007f468c836b20 R09: 0000000020000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000020000000 R13: 0000000020000100 R14: 0000000020000140 R15: 0000000020000040 Code: c5 0f 84 cc 00 00 00 48 b8 00 02 00 00 00 00 ad de 49 39 c4 0f 84 a5 00 00 00 48 b8 00 00 00 00 00 fc ff df 4c 89 e2 48 c1 ea 03 <80> 3c 02 00 75 5f 49 8b 14 24 48 39 da 0f 85 ba 00 00 00 49 8d RIP: __list_del_entry_valid+0x84/0xf3 lib/list_debug.c:51 RSP: ffff88809740f110 ---[ end trace 8e2c28b336b99c82 ]--- general protection fault: 0000 [#2] PREEMPT SMP KASAN