===================================================== BUG: KMSAN: kernel-infoleak in kmsan_copy_to_user+0xa9/0xb0 mm/kmsan/kmsan_hooks.c:253 CPU: 1 PID: 26834 Comm: syz-executor.5 Not tainted 5.4.0-rc5+ #0 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+0x191/0x1f0 lib/dump_stack.c:113 kmsan_report+0x128/0x220 mm/kmsan/kmsan_report.c:108 kmsan_internal_check_memory+0x187/0x4a0 mm/kmsan/kmsan.c:437 kmsan_copy_to_user+0xa9/0xb0 mm/kmsan/kmsan_hooks.c:253 _copy_to_user+0x16b/0x1f0 lib/usercopy.c:33 copy_to_user include/linux/uaccess.h:174 [inline] fuzzer_ioctl_event_fetch drivers/usb/gadget/fuzzer/fuzzer.c:611 [inline] fuzzer_ioctl+0x25a9/0x5860 drivers/usb/gadget/fuzzer/fuzzer.c:1215 full_proxy_unlocked_ioctl+0x222/0x330 fs/debugfs/file.c:230 do_vfs_ioctl+0xea8/0x2c50 fs/ioctl.c:46 ksys_ioctl fs/ioctl.c:713 [inline] __do_sys_ioctl fs/ioctl.c:720 [inline] __se_sys_ioctl+0x1da/0x270 fs/ioctl.c:718 __x64_sys_ioctl+0x4a/0x70 fs/ioctl.c:718 do_syscall_64+0xb6/0x160 arch/x86/entry/common.c:291 entry_SYSCALL_64_after_hwframe+0x63/0xe7 RIP: 0033:0x45a087 Code: 48 83 c4 08 48 89 d8 5b 5d c3 66 0f 1f 84 00 00 00 00 00 48 89 e8 48 f7 d8 48 39 c3 0f 92 c0 eb 92 66 90 b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 0f 83 0d b8 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007f7658df33c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 000000000045a087 RDX: 00007f7658df3810 RSI: 0000000080085502 RDI: 0000000000000003 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000003 R13: 00000000004bface R14: 00000000004e1eb0 R15: 00000000ffffffff Uninit was stored to memory at: kmsan_save_stack_with_flags mm/kmsan/kmsan.c:151 [inline] kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:319 kmsan_memcpy_memmove_metadata+0x25c/0x2e0 mm/kmsan/kmsan.c:254 kmsan_memcpy_metadata+0xb/0x10 mm/kmsan/kmsan.c:274 __msan_memcpy+0x56/0x70 mm/kmsan/kmsan_instr.c:129 fuzzer_event_queue_add drivers/usb/gadget/fuzzer/fuzzer.c:74 [inline] gadget_setup+0x498/0xb60 drivers/usb/gadget/fuzzer/fuzzer.c:346 dummy_timer+0x1fba/0x6770 drivers/usb/gadget/udc/dummy_hcd.c:1898 call_timer_fn+0x232/0x530 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers+0xd60/0x1270 kernel/time/timer.c:1773 run_timer_softirq+0x2d/0x50 kernel/time/timer.c:1786 __do_softirq+0x4a1/0x83a kernel/softirq.c:293 invoke_softirq kernel/softirq.c:375 [inline] irq_exit+0x230/0x280 kernel/softirq.c:416 exiting_irq+0xe/0x10 arch/x86/include/asm/apic.h:536 smp_apic_timer_interrupt+0x48/0x70 arch/x86/kernel/apic/apic.c:1139 apic_timer_interrupt+0x2e/0x40 arch/x86/entry/entry_64.S:837 metadata_is_contiguous+0x8/0x270 mm/kmsan/kmsan.c:482 kmsan_get_shadow_origin_ptr+0x6e/0x4b0 mm/kmsan/kmsan_shadow.c:172 __msan_metadata_ptr_for_load_8+0x10/0x20 mm/kmsan/kmsan_instr.c:55 find_va_links mm/vmalloc.c:494 [inline] insert_vmap_area+0x1b6/0x6d0 mm/vmalloc.c:677 alloc_vmap_area+0x37f7/0x3c40 mm/vmalloc.c:1136 __get_vm_area_node+0x3ee/0x770 mm/vmalloc.c:2082 __vmalloc_node_range+0x2b5/0x1260 mm/vmalloc.c:2510 __vmalloc_node mm/vmalloc.c:2570 [inline] __vmalloc_node_flags mm/vmalloc.c:2584 [inline] vzalloc+0xd7/0xf0 mm/vmalloc.c:2629 alloc_counters+0x99/0x8c0 net/ipv6/netfilter/ip6_tables.c:816 copy_entries_to_user net/ipv6/netfilter/ip6_tables.c:838 [inline] get_entries net/ipv6/netfilter/ip6_tables.c:1041 [inline] do_ip6t_get_ctl+0x7da/0x1030 net/ipv6/netfilter/ip6_tables.c:1709 nf_sockopt net/netfilter/nf_sockopt.c:104 [inline] nf_getsockopt+0x481/0x4e0 net/netfilter/nf_sockopt.c:122 ipv6_getsockopt+0x264/0x510 net/ipv6/ipv6_sockglue.c:1400 tcp_getsockopt+0x1c6/0x1f0 net/ipv4/tcp.c:3688 sock_common_getsockopt+0x13f/0x180 net/core/sock.c:3110 __sys_getsockopt+0x533/0x7b0 net/socket.c:2129 __do_sys_getsockopt net/socket.c:2144 [inline] __se_sys_getsockopt+0xe1/0x100 net/socket.c:2141 __x64_sys_getsockopt+0x62/0x80 net/socket.c:2141 do_syscall_64+0xb6/0x160 arch/x86/entry/common.c:291 entry_SYSCALL_64_after_hwframe+0x63/0xe7 Uninit was stored to memory at: kmsan_save_stack_with_flags mm/kmsan/kmsan.c:151 [inline] kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:319 __msan_chain_origin+0x6b/0xd0 mm/kmsan/kmsan_instr.c:179 dummy_timer+0x2d76/0x6770 drivers/usb/gadget/udc/dummy_hcd.c:1866 call_timer_fn+0x232/0x530 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers+0xd60/0x1270 kernel/time/timer.c:1773 run_timer_softirq+0x2d/0x50 kernel/time/timer.c:1786 __do_softirq+0x4a1/0x83a kernel/softirq.c:293 invoke_softirq kernel/softirq.c:375 [inline] irq_exit+0x230/0x280 kernel/softirq.c:416 exiting_irq+0xe/0x10 arch/x86/include/asm/apic.h:536 smp_apic_timer_interrupt+0x48/0x70 arch/x86/kernel/apic/apic.c:1139 apic_timer_interrupt+0x2e/0x40 arch/x86/entry/entry_64.S:837 metadata_is_contiguous+0x8/0x270 mm/kmsan/kmsan.c:482 kmsan_get_shadow_origin_ptr+0x6e/0x4b0 mm/kmsan/kmsan_shadow.c:172 __msan_metadata_ptr_for_load_8+0x10/0x20 mm/kmsan/kmsan_instr.c:55 find_va_links mm/vmalloc.c:494 [inline] insert_vmap_area+0x1b6/0x6d0 mm/vmalloc.c:677 alloc_vmap_area+0x37f7/0x3c40 mm/vmalloc.c:1136 __get_vm_area_node+0x3ee/0x770 mm/vmalloc.c:2082 __vmalloc_node_range+0x2b5/0x1260 mm/vmalloc.c:2510 __vmalloc_node mm/vmalloc.c:2570 [inline] __vmalloc_node_flags mm/vmalloc.c:2584 [inline] vzalloc+0xd7/0xf0 mm/vmalloc.c:2629 alloc_counters+0x99/0x8c0 net/ipv6/netfilter/ip6_tables.c:816 copy_entries_to_user net/ipv6/netfilter/ip6_tables.c:838 [inline] get_entries net/ipv6/netfilter/ip6_tables.c:1041 [inline] do_ip6t_get_ctl+0x7da/0x1030 net/ipv6/netfilter/ip6_tables.c:1709 nf_sockopt net/netfilter/nf_sockopt.c:104 [inline] nf_getsockopt+0x481/0x4e0 net/netfilter/nf_sockopt.c:122 ipv6_getsockopt+0x264/0x510 net/ipv6/ipv6_sockglue.c:1400 tcp_getsockopt+0x1c6/0x1f0 net/ipv4/tcp.c:3688 sock_common_getsockopt+0x13f/0x180 net/core/sock.c:3110 __sys_getsockopt+0x533/0x7b0 net/socket.c:2129 __do_sys_getsockopt net/socket.c:2144 [inline] __se_sys_getsockopt+0xe1/0x100 net/socket.c:2141 __x64_sys_getsockopt+0x62/0x80 net/socket.c:2141 do_syscall_64+0xb6/0x160 arch/x86/entry/common.c:291 entry_SYSCALL_64_after_hwframe+0x63/0xe7 Uninit was stored to memory at: kmsan_save_stack_with_flags mm/kmsan/kmsan.c:151 [inline] kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:319 __msan_chain_origin+0x6b/0xd0 mm/kmsan/kmsan_instr.c:179 usb_control_msg+0x61b/0x7f0 drivers/usb/core/message.c:152 __usbnet_write_cmd drivers/net/usb/usbnet.c:2028 [inline] usbnet_write_cmd+0x386/0x430 drivers/net/usb/usbnet.c:2066 asix_write_cmd+0x155/0x270 drivers/net/usb/asix_common.c:48 ax88772a_hw_reset+0x1ab/0x1030 drivers/net/usb/asix_devices.c:456 ax88772_bind+0x67a/0x11f0 drivers/net/usb/asix_devices.c:731 usbnet_probe+0x10d3/0x39d0 drivers/net/usb/usbnet.c:1730 usb_probe_interface+0xd19/0x1310 drivers/usb/core/driver.c:361 really_probe+0xd91/0x1f90 drivers/base/dd.c:552 driver_probe_device+0x1ba/0x510 drivers/base/dd.c:721 __device_attach_driver+0x5b8/0x790 drivers/base/dd.c:828 bus_for_each_drv+0x28e/0x3b0 drivers/base/bus.c:430 __device_attach+0x489/0x750 drivers/base/dd.c:894 device_initial_probe+0x4a/0x60 drivers/base/dd.c:941 bus_probe_device+0x131/0x390 drivers/base/bus.c:490 device_add+0x25b5/0x2df0 drivers/base/core.c:2202 usb_set_configuration+0x309f/0x3710 drivers/usb/core/message.c:2027 generic_probe+0xe7/0x280 drivers/usb/core/generic.c:210 usb_probe_device+0x146/0x200 drivers/usb/core/driver.c:266 really_probe+0xd91/0x1f90 drivers/base/dd.c:552 driver_probe_device+0x1ba/0x510 drivers/base/dd.c:721 __device_attach_driver+0x5b8/0x790 drivers/base/dd.c:828 bus_for_each_drv+0x28e/0x3b0 drivers/base/bus.c:430 __device_attach+0x489/0x750 drivers/base/dd.c:894 device_initial_probe+0x4a/0x60 drivers/base/dd.c:941 bus_probe_device+0x131/0x390 drivers/base/bus.c:490 device_add+0x25b5/0x2df0 drivers/base/core.c:2202 usb_new_device+0x23e5/0x2fb0 drivers/usb/core/hub.c:2536 hub_port_connect drivers/usb/core/hub.c:5098 [inline] hub_port_connect_change drivers/usb/core/hub.c:5213 [inline] port_event drivers/usb/core/hub.c:5359 [inline] hub_event+0x581d/0x72f0 drivers/usb/core/hub.c:5441 process_one_work+0x1572/0x1ef0 kernel/workqueue.c:2269 worker_thread+0x111b/0x2460 kernel/workqueue.c:2415 kthread+0x4b5/0x4f0 kernel/kthread.c:256 ret_from_fork+0x35/0x40 arch/x86/entry/entry_64.S:355 Uninit was stored to memory at: kmsan_save_stack_with_flags mm/kmsan/kmsan.c:151 [inline] kmsan_internal_chain_origin+0xbd/0x180 mm/kmsan/kmsan.c:319 __msan_chain_origin+0x6b/0xd0 mm/kmsan/kmsan_instr.c:179 ax88772_bind+0xa12/0x11f0 drivers/net/usb/asix_devices.c:720 usbnet_probe+0x10d3/0x39d0 drivers/net/usb/usbnet.c:1730 usb_probe_interface+0xd19/0x1310 drivers/usb/core/driver.c:361 really_probe+0xd91/0x1f90 drivers/base/dd.c:552 driver_probe_device+0x1ba/0x510 drivers/base/dd.c:721 __device_attach_driver+0x5b8/0x790 drivers/base/dd.c:828 bus_for_each_drv+0x28e/0x3b0 drivers/base/bus.c:430 __device_attach+0x489/0x750 drivers/base/dd.c:894 device_initial_probe+0x4a/0x60 drivers/base/dd.c:941 bus_probe_device+0x131/0x390 drivers/base/bus.c:490 device_add+0x25b5/0x2df0 drivers/base/core.c:2202 usb_set_configuration+0x309f/0x3710 drivers/usb/core/message.c:2027 generic_probe+0xe7/0x280 drivers/usb/core/generic.c:210 usb_probe_device+0x146/0x200 drivers/usb/core/driver.c:266 really_probe+0xd91/0x1f90 drivers/base/dd.c:552 driver_probe_device+0x1ba/0x510 drivers/base/dd.c:721 __device_attach_driver+0x5b8/0x790 drivers/base/dd.c:828 bus_for_each_drv+0x28e/0x3b0 drivers/base/bus.c:430 __device_attach+0x489/0x750 drivers/base/dd.c:894 device_initial_probe+0x4a/0x60 drivers/base/dd.c:941 bus_probe_device+0x131/0x390 drivers/base/bus.c:490 device_add+0x25b5/0x2df0 drivers/base/core.c:2202 usb_new_device+0x23e5/0x2fb0 drivers/usb/core/hub.c:2536 hub_port_connect drivers/usb/core/hub.c:5098 [inline] hub_port_connect_change drivers/usb/core/hub.c:5213 [inline] port_event drivers/usb/core/hub.c:5359 [inline] hub_event+0x581d/0x72f0 drivers/usb/core/hub.c:5441 process_one_work+0x1572/0x1ef0 kernel/workqueue.c:2269 worker_thread+0x111b/0x2460 kernel/workqueue.c:2415 kthread+0x4b5/0x4f0 kernel/kthread.c:256 ret_from_fork+0x35/0x40 arch/x86/entry/entry_64.S:355 Local variable description: ----buf.i@asix_get_phy_addr Variable was created at: asix_read_cmd drivers/net/usb/asix_common.c:312 [inline] asix_read_phy_addr drivers/net/usb/asix_common.c:295 [inline] asix_get_phy_addr+0x4d/0x280 drivers/net/usb/asix_common.c:314 asix_read_cmd drivers/net/usb/asix_common.c:312 [inline] asix_read_phy_addr drivers/net/usb/asix_common.c:295 [inline] asix_get_phy_addr+0x4d/0x280 drivers/net/usb/asix_common.c:314 Byte 10 of 16 is uninitialized Memory access of size 16 starts at ffff88808098fe70 Data copied to user address 00007f7658df3810 =====================================================