================================================================== 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 ffff8801d858b910 by task kswapd0/1533 kernel BUG at mm/vmscan.c:593! invalid opcode: 0000 [#1] SMP KASAN CPU: 1 PID: 1533 Comm: kswapd0 Not tainted 4.18.0-rc4-next-20180710+ #3 CPU: 0 PID: 13126 Comm: syz-executor7 Not tainted 4.18.0-rc4-next-20180710+ #3 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 RIP: 0010:shrink_slab_memcg mm/vmscan.c:593 [inline] RIP: 0010:shrink_slab+0xb3e/0xdb0 mm/vmscan.c:672 Call Trace: Code: 8d __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113 a8 fd ff ff f0 48 print_address_description+0x6c/0x20b mm/kasan/report.c:256 0f b3 kasan_report_error mm/kasan/report.c:354 [inline] kasan_report.cold.7+0x242/0x30d mm/kasan/report.c:412 08 __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433 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 ab da ff 48 8b 85 c0 shrink_node+0x429/0x16a0 mm/vmscan.c:2736 fd ff ff c7 00 f8 f8 f8 f8 c6 kswapd_shrink_node mm/vmscan.c:3458 [inline] balance_pgdat+0x7ca/0x1010 mm/vmscan.c:3568 40 04 f8 e9 kswapd+0x82e/0x12f0 mm/vmscan.c:3790 5d fb ff ff e8 22 ab da ff <0f> 0b kthread+0x345/0x410 kernel/kthread.c:246 e8 1b ab ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:415 da ff Allocated by task 12202: 48 save_stack+0x43/0xd0 mm/kasan/kasan.c:448 8b set_track mm/kasan/kasan.c:460 [inline] kasan_kmalloc+0xc4/0xe0 mm/kasan/kasan.c:553 9d __do_kmalloc_node mm/slab.c:3682 [inline] __kmalloc_node+0x47/0x70 mm/slab.c:3689 d8 kmalloc_node include/linux/slab.h:555 [inline] kvmalloc_node+0x65/0xf0 mm/util.c:423 fd ff 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 ff prealloc_memcg_shrinker mm/vmscan.c:185 [inline] prealloc_shrinker+0x29e/0x450 mm/vmscan.c:366 register_shrinker+0x17/0x40 mm/vmscan.c:413 31 sget_fc+0x76f/0x950 fs/super.c:554 ff 48 vfs_get_super+0x6e/0x270 fs/super.c:1255 89 proc_get_tree+0x88/0xb0 fs/proc/root.c:159 de vfs_get_tree+0x1cb/0x5c0 fs/super.c:1743 e8 do_new_mount fs/namespace.c:2567 [inline] do_mount+0x6c1/0x1fb0 fs/namespace.c:2889 ksys_mount+0x12d/0x140 fs/namespace.c:3105 3a __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 ac entry_SYSCALL_64_after_hwframe+0x49/0xbe RSP: 0018:ffff88019af6ec60 EFLAGS: 00010246 Freed by task 4494: save_stack+0x43/0xd0 mm/kasan/kasan.c:448 RAX: 0000000000040000 RBX: ffff88019af6eeb0 RCX: ffffc9000d47f000 set_track mm/kasan/kasan.c:460 [inline] __kasan_slab_free+0x11a/0x170 mm/kasan/kasan.c:521 RDX: 0000000000040000 RSI: ffffffff81a1d04e RDI: 0000000000000007 kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:528 RBP: ffff88019af6eed8 R08: ffff8801d7a144c0 R09: ffffed00398473d0 R10: ffffed00398473d0 R11: ffff8801cc239e87 R12: dffffc0000000000 __cache_free mm/slab.c:3498 [inline] kfree+0xd9/0x260 mm/slab.c:3813 R13: ffff8801cc32d2b0 R14: 0000000000000000 R15: ffff88019af6ecf0 FS: 00007fcad90bb700(0000) GS:ffff8801dae00000(0000) knlGS:0000000000000000 kvfree+0x61/0x70 mm/util.c:442 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000c42a999000 CR3: 00000001ade60000 CR4: 00000000001406f0 __vunmap+0x326/0x460 mm/vmalloc.c:1529 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 vfree+0x68/0x100 mm/vmalloc.c:1593 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 copy_entries_to_user net/ipv6/netfilter/ip6_tables.c:886 [inline] get_entries net/ipv6/netfilter/ip6_tables.c:1044 [inline] do_ip6t_get_ctl+0xa52/0xc30 net/ipv6/netfilter/ip6_tables.c:1712 nf_sockopt net/netfilter/nf_sockopt.c:104 [inline] nf_getsockopt+0x80/0xe0 net/netfilter/nf_sockopt.c:122 Call Trace: ipv6_getsockopt+0x1f0/0x320 net/ipv6/ipv6_sockglue.c:1380 tcp_getsockopt+0x93/0xe0 net/ipv4/tcp.c:3541 sock_common_getsockopt+0x9a/0xe0 net/core/sock.c:3042 __sys_getsockopt+0x1ad/0x390 net/socket.c:1930 shrink_node+0x429/0x16a0 mm/vmscan.c:2736 __do_sys_getsockopt net/socket.c:1941 [inline] __se_sys_getsockopt net/socket.c:1938 [inline] __x64_sys_getsockopt+0xbe/0x150 net/socket.c:1938 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 ffff8801d858b900 which belongs to the cache kmalloc-32 of size 32 The buggy address is located 16 bytes inside of 32-byte region [ffff8801d858b900, ffff8801d858b920) The buggy address belongs to the page: page:ffffea00076162c0 count:1 mapcount:0 mapping:ffff8801da8001c0 index:0xffff8801d858bfc1 shrink_zones mm/vmscan.c:2965 [inline] do_try_to_free_pages+0x3e7/0x1290 mm/vmscan.c:3027 flags: 0x2fffc0000000100(slab) raw: 02fffc0000000100 ffffea0007610c08 ffffea000765ad88 ffff8801da8001c0 raw: ffff8801d858bfc1 ffff8801d858b000 000000010000003f 0000000000000000 page dumped because: kasan: bad access detected try_to_free_pages+0x4b2/0xb80 mm/vmscan.c:3242 Memory state around the buggy address: ffff8801d858b800: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ffff8801d858b880: fb fb fb fb fc fc fc fc 00 00 fc fc fc fc fc fc >ffff8801d858b900: 00 00 06 fc fc fc fc fc fb fb fb fb fc fc fc fc ^ ffff8801d858b980: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ffff8801d858ba00: fb fb fb fb fc fc fc fc 00 00 fc fc fc fc fc fc ==================================================================