================================================================== 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 ffff8801d76c7ad0 by task kswapd0/1530 kernel BUG at mm/vmscan.c:593! invalid opcode: 0000 [#1] SMP KASAN CPU: 1 PID: 1530 Comm: kswapd0 Not tainted 4.18.0-rc3-next-20180706+ #1 CPU: 0 PID: 20610 Comm: syz-executor6 Not tainted 4.18.0-rc3-next-20180706+ #1 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: RIP: 0010:shrink_slab_memcg mm/vmscan.c:593 [inline] RIP: 0010:shrink_slab+0xb3e/0xdb0 mm/vmscan.c:672 __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113 Code: 8d a8 fd ff ff print_address_description+0x6c/0x20b mm/kasan/report.c:256 f0 48 0f kasan_report_error mm/kasan/report.c:354 [inline] kasan_report.cold.7+0x242/0x30d mm/kasan/report.c:412 b3 __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433 08 e8 find_first_bit+0xf7/0x100 lib/find_bit.c:107 3d shrink_slab_memcg mm/vmscan.c:580 [inline] shrink_slab+0x5d0/0xdb0 mm/vmscan.c:672 b8 da ff 48 8b 85 c0 fd ff ff shrink_node+0x429/0x16a0 mm/vmscan.c:2736 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 kswapd+0x82e/0x12f0 mm/vmscan.c:3790 b8 da ff <0f> 0b e8 1b b8 da ff 48 8b 9d d8 fd ff ff 31 kthread+0x345/0x410 kernel/kthread.c:246 ff 48 89 ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:415 de e8 3a Allocated by task 11394: b9 save_stack+0x43/0xd0 mm/kasan/kasan.c:448 RSP: 0018:ffff88019c64e260 EFLAGS: 00010293 set_track mm/kasan/kasan.c:460 [inline] kasan_kmalloc+0xc4/0xe0 mm/kasan/kasan.c:553 __do_kmalloc_node mm/slab.c:3682 [inline] __kmalloc_node+0x47/0x70 mm/slab.c:3689 RAX: ffff880191c3a680 RBX: ffff88019c64e4b0 RCX: ffffffff81a1bf32 kmalloc_node include/linux/slab.h:555 [inline] kvmalloc_node+0x65/0xf0 mm/util.c:423 RDX: 0000000000000000 RSI: ffffffff81a1c23e RDI: 0000000000000007 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 RBP: ffff88019c64e4d8 R08: ffff880191c3a680 R09: ffffed00398299e8 prealloc_memcg_shrinker mm/vmscan.c:185 [inline] prealloc_shrinker+0x29e/0x450 mm/vmscan.c:366 R10: ffffed00398299e8 R11: ffff8801cc14cf47 R12: dffffc0000000000 register_shrinker+0x17/0x40 mm/vmscan.c:413 R13: ffff8801cc31d1f0 R14: 0000000000000000 R15: ffff88019c64e2f0 sget_fc+0x778/0x960 fs/super.c:562 FS: 00000000013ec940(0000) GS:ffff8801dae00000(0000) knlGS:0000000000000000 vfs_get_super+0x6e/0x270 fs/super.c:1263 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 proc_get_tree+0x88/0xb0 fs/proc/root.c:159 CR2: 0000000020d4b000 CR3: 00000001974c2000 CR4: 00000000001406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 vfs_get_tree+0x1cb/0x5c0 fs/super.c:1751 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: 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 4477: shrink_node+0x429/0x16a0 mm/vmscan.c:2736 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 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 copy_entries_to_user net/ipv4/netfilter/ip_tables.c:870 [inline] get_entries net/ipv4/netfilter/ip_tables.c:1027 [inline] do_ipt_get_ctl+0xa1f/0xc00 net/ipv4/netfilter/ip_tables.c:1703 nf_sockopt net/netfilter/nf_sockopt.c:104 [inline] nf_getsockopt+0x80/0xe0 net/netfilter/nf_sockopt.c:122 ip_getsockopt+0x1fb/0x2b0 net/ipv4/ip_sockglue.c:1574 shrink_zones mm/vmscan.c:2965 [inline] do_try_to_free_pages+0x3e7/0x1290 mm/vmscan.c:3027 tcp_getsockopt+0x93/0xe0 net/ipv4/tcp.c:3546 sock_common_getsockopt+0x9a/0xe0 net/core/sock.c:3042 __sys_getsockopt+0x1ad/0x390 net/socket.c:1949 __do_sys_getsockopt net/socket.c:1960 [inline] __se_sys_getsockopt net/socket.c:1957 [inline] __x64_sys_getsockopt+0xbe/0x150 net/socket.c:1957 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe try_to_free_pages+0x4b2/0xb80 mm/vmscan.c:3242 The buggy address belongs to the object at ffff8801d76c7ac0 which belongs to the cache kmalloc-32 of size 32 The buggy address is located 16 bytes inside of 32-byte region [ffff8801d76c7ac0, ffff8801d76c7ae0) The buggy address belongs to the page: page:ffffea00075db1c0 count:1 mapcount:0 mapping:ffff8801da8001c0 index:0xffff8801d76c7fc1 flags: 0x2fffc0000000100(slab) raw: 02fffc0000000100 ffffea00075c5a08 ffffea00074cc4c8 ffff8801da8001c0 raw: ffff8801d76c7fc1 ffff8801d76c7000 0000000100000030 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8801d76c7980: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc __perform_reclaim mm/page_alloc.c:3769 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3790 [inline] __alloc_pages_slowpath+0x953/0x2d00 mm/page_alloc.c:4191 __alloc_pages_nodemask+0xa7c/0xdb0 mm/page_alloc.c:4390 ffff8801d76c7a00: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc >ffff8801d76c7a80: fb fb fb fb fc fc fc fc 00 00 06 fc fc fc fc fc ^ ffff8801d76c7b00: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ffff8801d76c7b80: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ==================================================================