================================================================== BUG: KASAN: slab-out-of-bounds in find_first_bit+0xf7/0x100 lib/find_bit.c:107 ------------[ cut here ]------------ Read of size 8 at addr ffff8801d71ad690 by task kswapd0/1534 kernel BUG at mm/vmscan.c:593! invalid opcode: 0000 [#1] SMP KASAN CPU: 0 PID: 1534 Comm: kswapd0 Not tainted 4.18.0-rc4-next-20180710+ #3 CPU: 1 PID: 27078 Comm: syz-executor2 Not tainted 4.18.0-rc4-next-20180710+ #3 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:shrink_slab_memcg mm/vmscan.c:593 [inline] RIP: 0010:shrink_slab+0xb3e/0xdb0 mm/vmscan.c:672 Code: 8d a8 fd print_address_description+0x6c/0x20b mm/kasan/report.c:256 ff ff f0 kasan_report_error mm/kasan/report.c:354 [inline] kasan_report.cold.7+0x242/0x30d mm/kasan/report.c:412 48 0f __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433 b3 08 find_first_bit+0xf7/0x100 lib/find_bit.c:107 e8 3d shrink_slab_memcg mm/vmscan.c:580 [inline] shrink_slab+0x5d0/0xdb0 mm/vmscan.c:672 ab da ff 48 8b 85 c0 fd shrink_node+0x429/0x16a0 mm/vmscan.c:2736 ff ff c7 00 f8 f8 f8 f8 c6 40 04 f8 e9 5d kswapd_shrink_node mm/vmscan.c:3458 [inline] balance_pgdat+0x7ca/0x1010 mm/vmscan.c:3568 fb ff ff e8 22 ab kswapd+0x82e/0x12f0 mm/vmscan.c:3790 da ff <0f> 0b e8 1b ab da ff 48 8b 9d d8 fd ff ff kthread+0x345/0x410 kernel/kthread.c:246 31 ff 48 89 ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:415 de e8 Allocated by task 9188: 3a ac save_stack+0x43/0xd0 mm/kasan/kasan.c:448 set_track mm/kasan/kasan.c:460 [inline] kasan_kmalloc+0xc4/0xe0 mm/kasan/kasan.c:553 RSP: 0018:ffff88019693e260 EFLAGS: 00010293 __do_kmalloc_node mm/slab.c:3682 [inline] __kmalloc_node+0x47/0x70 mm/slab.c:3689 kmalloc_node include/linux/slab.h:555 [inline] kvmalloc_node+0x65/0xf0 mm/util.c:423 kvmalloc include/linux/mm.h:557 [inline] memcg_expand_one_shrinker_map mm/memcontrol.c:341 [inline] memcg_expand_shrinker_maps+0x1b1/0x3c0 mm/memcontrol.c:416 RAX: ffff8801c4c80040 RBX: ffff88019693e4b0 RCX: ffffffff81a1cd42 prealloc_memcg_shrinker mm/vmscan.c:185 [inline] prealloc_shrinker+0x29e/0x450 mm/vmscan.c:366 RDX: 0000000000000000 RSI: ffffffff81a1d04e RDI: 0000000000000007 alloc_super+0x8dd/0xb10 fs/super.c:264 RBP: ffff88019693e4d8 R08: ffff8801c4c80040 R09: ffffed00398390f0 R10: ffffed00398390f0 R11: ffff8801cc1c8787 R12: dffffc0000000000 sget_userns+0x276/0x860 fs/super.c:607 R13: ffff8801cc3412b0 R14: 0000000000000000 R15: ffff88019693e2f0 FS: 00000000025ef940(0000) GS:ffff8801daf00000(0000) knlGS:0000000000000000 sget+0x10b/0x150 fs/super.c:659 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 mount_nodev+0x38/0x120 fs/super.c:1385 CR2: 00000000013c47d0 CR3: 00000001d4a1e000 CR4: 00000000001406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 bpf_mount+0x34/0x40 kernel/bpf/inode.c:658 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: legacy_get_tree+0x118/0x440 fs/fs_context.c:659 vfs_get_tree+0x1cb/0x5c0 fs/super.c:1743 do_new_mount fs/namespace.c:2567 [inline] do_mount+0x6c1/0x1fb0 fs/namespace.c:2889 ksys_mount+0x12d/0x140 fs/namespace.c:3105 __do_sys_mount fs/namespace.c:3119 [inline] __se_sys_mount fs/namespace.c:3116 [inline] __x64_sys_mount+0xbe/0x150 fs/namespace.c:3116 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 8039: save_stack+0x43/0xd0 mm/kasan/kasan.c:448 set_track mm/kasan/kasan.c:460 [inline] __kasan_slab_free+0x11a/0x170 mm/kasan/kasan.c:521 shrink_node+0x429/0x16a0 mm/vmscan.c:2736 kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:528 __cache_free mm/slab.c:3498 [inline] kfree+0xd9/0x260 mm/slab.c:3813 kvfree+0x61/0x70 mm/util.c:442 __vunmap+0x326/0x460 mm/vmalloc.c:1529 vfree+0x68/0x100 mm/vmalloc.c:1593 bpf_prog_calc_tag+0x4e3/0x7d0 kernel/bpf/core.c:218 replace_map_fd_with_map_ptr kernel/bpf/verifier.c:5074 [inline] bpf_check+0x662/0x5e60 kernel/bpf/verifier.c:5905 bpf_prog_load+0x1141/0x1c90 kernel/bpf/syscall.c:1354 __do_sys_bpf kernel/bpf/syscall.c:2307 [inline] __se_sys_bpf kernel/bpf/syscall.c:2269 [inline] __x64_sys_bpf+0x36c/0x510 kernel/bpf/syscall.c:2269 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe The buggy address belongs to the object at ffff8801d71ad680 which belongs to the cache kmalloc-32 of size 32 The buggy address is located 16 bytes inside of 32-byte region [ffff8801d71ad680, ffff8801d71ad6a0) The buggy address belongs to the page: shrink_zones mm/vmscan.c:2965 [inline] do_try_to_free_pages+0x3e7/0x1290 mm/vmscan.c:3027 page:ffffea00075c6b40 count:1 mapcount:0 mapping:ffff8801da8001c0 index:0xffff8801d71adfc1 flags: 0x2fffc0000000100(slab) raw: 02fffc0000000100 ffffea00075c4688 ffffea0007348388 ffff8801da8001c0 raw: ffff8801d71adfc1 ffff8801d71ad000 0000000100000025 0000000000000000 page dumped because: kasan: bad access detected try_to_free_pages+0x4b2/0xb80 mm/vmscan.c:3242 Memory state around the buggy address: ffff8801d71ad580: fb fb fb fb fc fc fc fc 00 00 01 fc fc fc fc fc ffff8801d71ad600: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc >ffff8801d71ad680: 00 00 06 fc fc fc fc fc fb fb fb fb fc fc fc fc ^ ffff8801d71ad700: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ffff8801d71ad780: fb fb fb fb fc fc fc fc 00 00 00 fc fc fc fc fc ==================================================================