================================================================== BUG: KASAN: use-after-free in ds_probe+0x604/0x760 drivers/w1/masters/ds2490.c:1019 Read of size 1 at addr ffff88808e623082 by task kworker/0:2/532 CPU: 0 PID: 532 Comm: kworker/0:2 Not tainted 5.1.0-rc3-319004-g43151d6 #6 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: usb_hub_wq hub_event Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0xe8/0x16e lib/dump_stack.c:113 print_address_description+0x6c/0x236 mm/kasan/report.c:187 kasan_report.cold+0x1a/0x3c mm/kasan/report.c:317 ds_probe+0x604/0x760 drivers/w1/masters/ds2490.c:1019 usb_probe_interface+0x31d/0x820 drivers/usb/core/driver.c:361 really_probe+0x2da/0xb10 drivers/base/dd.c:509 driver_probe_device+0x21d/0x350 drivers/base/dd.c:671 __device_attach_driver+0x1d8/0x290 drivers/base/dd.c:778 bus_for_each_drv+0x163/0x1e0 drivers/base/bus.c:454 __device_attach+0x223/0x3a0 drivers/base/dd.c:844 bus_probe_device+0x1f1/0x2a0 drivers/base/bus.c:514 device_add+0xad2/0x16e0 drivers/base/core.c:2106 usb_set_configuration+0xdf7/0x1740 drivers/usb/core/message.c:2023 generic_probe+0xa2/0xda drivers/usb/core/generic.c:210 usb_probe_device+0xc0/0x150 drivers/usb/core/driver.c:266 really_probe+0x2da/0xb10 drivers/base/dd.c:509 driver_probe_device+0x21d/0x350 drivers/base/dd.c:671 __device_attach_driver+0x1d8/0x290 drivers/base/dd.c:778 bus_for_each_drv+0x163/0x1e0 drivers/base/bus.c:454 __device_attach+0x223/0x3a0 drivers/base/dd.c:844 bus_probe_device+0x1f1/0x2a0 drivers/base/bus.c:514 device_add+0xad2/0x16e0 drivers/base/core.c:2106 usb_new_device.cold+0x537/0xccf drivers/usb/core/hub.c:2534 hub_port_connect drivers/usb/core/hub.c:5089 [inline] hub_port_connect_change drivers/usb/core/hub.c:5204 [inline] port_event drivers/usb/core/hub.c:5350 [inline] hub_event+0x138e/0x3b00 drivers/usb/core/hub.c:5432 process_one_work+0x90f/0x1580 kernel/workqueue.c:2269 worker_thread+0x9b/0xe20 kernel/workqueue.c:2415 kthread+0x313/0x420 kernel/kthread.c:253 ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352 Allocated by task 5458: set_track mm/kasan/common.c:87 [inline] __kasan_kmalloc mm/kasan/common.c:497 [inline] __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:470 kmalloc_node include/linux/slab.h:585 [inline] kzalloc_node include/linux/slab.h:753 [inline] __get_vm_area_node+0x12d/0x3b0 mm/vmalloc.c:1394 __vmalloc_node_range+0xea/0x790 mm/vmalloc.c:1766 __vmalloc_node mm/vmalloc.c:1826 [inline] __vmalloc_node_flags mm/vmalloc.c:1840 [inline] vzalloc+0x6c/0x90 mm/vmalloc.c:1885 alloc_counters.isra.0+0x55/0x570 net/ipv6/netfilter/ip6_tables.c:819 copy_entries_to_user net/ipv6/netfilter/ip6_tables.c:841 [inline] get_entries net/ipv6/netfilter/ip6_tables.c:1044 [inline] do_ip6t_get_ctl+0x4bd/0x8c0 net/ipv6/netfilter/ip6_tables.c:1712 nf_sockopt net/netfilter/nf_sockopt.c:104 [inline] nf_getsockopt+0x7d/0xd0 net/netfilter/nf_sockopt.c:122 ipv6_getsockopt net/ipv6/ipv6_sockglue.c:1402 [inline] ipv6_getsockopt+0x1f7/0x270 net/ipv6/ipv6_sockglue.c:1382 tcp_getsockopt net/ipv4/tcp.c:3640 [inline] tcp_getsockopt+0x91/0xd0 net/ipv4/tcp.c:3634 __sys_getsockopt+0x13f/0x220 net/socket.c:2083 __do_sys_getsockopt net/socket.c:2094 [inline] __se_sys_getsockopt net/socket.c:2091 [inline] __x64_sys_getsockopt+0xbf/0x160 net/socket.c:2091 do_syscall_64+0xcf/0x4f0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 5458: set_track mm/kasan/common.c:87 [inline] __kasan_slab_free+0x130/0x180 mm/kasan/common.c:459 slab_free_hook mm/slub.c:1429 [inline] slab_free_freelist_hook+0x5e/0x140 mm/slub.c:1456 slab_free mm/slub.c:3003 [inline] kfree+0xce/0x290 mm/slub.c:3958 __vunmap+0x335/0x430 mm/vmalloc.c:1543 __vfree+0x41/0xd0 mm/vmalloc.c:1584 vfree+0x5f/0x90 mm/vmalloc.c:1614 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+0x6ce/0x8c0 net/ipv6/netfilter/ip6_tables.c:1712 nf_sockopt net/netfilter/nf_sockopt.c:104 [inline] nf_getsockopt+0x7d/0xd0 net/netfilter/nf_sockopt.c:122 ipv6_getsockopt net/ipv6/ipv6_sockglue.c:1402 [inline] ipv6_getsockopt+0x1f7/0x270 net/ipv6/ipv6_sockglue.c:1382 tcp_getsockopt net/ipv4/tcp.c:3640 [inline] tcp_getsockopt+0x91/0xd0 net/ipv4/tcp.c:3634 __sys_getsockopt+0x13f/0x220 net/socket.c:2083 __do_sys_getsockopt net/socket.c:2094 [inline] __se_sys_getsockopt net/socket.c:2091 [inline] __x64_sys_getsockopt+0xbf/0x160 net/socket.c:2091 do_syscall_64+0xcf/0x4f0 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe The buggy address belongs to the object at ffff88808e623060 which belongs to the cache kmalloc-64 of size 64 The buggy address is located 34 bytes inside of 64-byte region [ffff88808e623060, ffff88808e6230a0) The buggy address belongs to the page: page:ffffea00023988c0 count:1 mapcount:0 mapping:ffff88812c3f5600 index:0x0 flags: 0xfff00000000200(slab) raw: 00fff00000000200 ffffea000273e680 0000001500000015 ffff88812c3f5600 raw: 0000000000000000 00000000002a002a 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88808e622f80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff88808e623000: 00 00 00 00 00 00 fc fc fc fc fc fc fb fb fb fb >ffff88808e623080: fb fb fb fb fc fc fc fc fb fb fb fb fb fb fb fb ^ ffff88808e623100: fc fc fc fc fb fb fb fb fb fb fb fb fc fc fc fc ffff88808e623180: fb fb fb fb fb fb fb fb fc fc fc fc 00 00 00 00 ==================================================================