xpad 4-1:0.65: xpad_irq_out - usb_submit_urb failed with result -19 ================================================================== BUG: KASAN: use-after-free in __lock_acquire+0x31af/0x3b60 kernel/locking/lockdep.c:3827 Read of size 8 at addr ffff8881c40e7110 by task udevd/239 CPU: 1 PID: 239 Comm: udevd Not tainted 5.6.0-rc3-syzkaller #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+0xef/0x16e lib/dump_stack.c:118 print_address_description.constprop.0.cold+0xd3/0x314 mm/kasan/report.c:374 __kasan_report.cold+0x37/0x77 mm/kasan/report.c:506 kasan_report+0xe/0x20 mm/kasan/common.c:641 __lock_acquire+0x31af/0x3b60 kernel/locking/lockdep.c:3827 lock_acquire+0x130/0x340 kernel/locking/lockdep.c:4484 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x32/0x50 kernel/locking/spinlock.c:159 xpad_play_effect+0xfe/0xcc0 drivers/input/joystick/xpad.c:1225 ml_play_effects+0x817/0x1270 drivers/input/ff-memless.c:398 ml_effect_timer+0x5d/0x90 drivers/input/ff-memless.c:412 call_timer_fn+0x195/0x6f0 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers kernel/time/timer.c:1773 [inline] __run_timers kernel/time/timer.c:1740 [inline] run_timer_softirq+0x5f9/0x1500 kernel/time/timer.c:1786 __do_softirq+0x21e/0x950 kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0x178/0x1a0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:546 [inline] smp_apic_timer_interrupt+0x141/0x540 arch/x86/kernel/apic/apic.c:1146 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829 RIP: 0010:lock_release+0x3cf/0x6d0 kernel/locking/lockdep.c:4492 Code: c1 ea 03 0f b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 70 02 00 00 c7 85 4c 08 00 00 00 00 00 00 ff 34 24 9d <48> b8 00 00 00 00 00 fc ff df 48 01 c3 48 c7 03 00 00 00 00 c7 43 RSP: 0018:ffff8881d3387ca0 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13 RAX: 0000000000000007 RBX: 1ffff1103a670f97 RCX: 1ffff1103a621728 RDX: 0000000000000000 RSI: 1ffff1103a62172f RDI: ffff8881d310b94c RBP: ffff8881d310b100 R08: ffff8881d310b100 R09: fffffbfff0fcc001 R10: fffffbfff0fcc000 R11: ffffffff87e60007 R12: ffffffff815d5ee1 R13: ffff8881d310b948 R14: ffff8881d310b100 R15: 0000000000000002 __raw_spin_unlock include/linux/spinlock_api_smp.h:150 [inline] _raw_spin_unlock+0x12/0x30 kernel/locking/spinlock.c:183 spin_unlock include/linux/spinlock.h:378 [inline] browse_rb mm/mmap.c:358 [inline] validate_mm+0x371/0x610 mm/mmap.c:418 remove_vma_list mm/mmap.c:2571 [inline] __do_munmap+0x5de/0x11c0 mm/mmap.c:2812 __vm_munmap+0xe6/0x170 mm/mmap.c:2832 __do_sys_munmap mm/mmap.c:2858 [inline] __se_sys_munmap mm/mmap.c:2854 [inline] __x64_sys_munmap+0x62/0x80 mm/mmap.c:2854 do_syscall_64+0xb6/0x5a0 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x7f75338c1d37 Code: f0 ff ff 73 01 c3 48 8b 0d fe c0 2a 00 31 d2 48 29 c2 64 89 11 48 83 c8 ff eb ea 90 90 90 90 90 90 90 90 b8 0b 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d d1 c0 2a 00 31 d2 48 29 c2 64 RSP: 002b:00007ffd769e46f8 EFLAGS: 00000206 ORIG_RAX: 000000000000000b RAX: ffffffffffffffda RBX: 0000000000b1d910 RCX: 00007f75338c1d37 RDX: 0000000000000000 RSI: 0000000000001000 RDI: 00007f75341b7000 RBP: 0000000000000000 R08: 00007f75341b17a0 R09: 0000000000000000 R10: 0000000000000022 R11: 0000000000000206 R12: 0000000000000000 R13: 0000000000b1d910 R14: 0000000000000006 R15: 0000000000000000 Allocated by task 0: save_stack+0x1b/0x80 mm/kasan/common.c:72 set_track mm/kasan/common.c:80 [inline] __kasan_kmalloc mm/kasan/common.c:515 [inline] __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:488 slab_post_alloc_hook mm/slab.h:584 [inline] slab_alloc_node mm/slub.c:2778 [inline] __kmalloc_node_track_caller+0xfc/0x3b0 mm/slub.c:4384 __kmalloc_reserve.isra.0+0x39/0xe0 net/core/skbuff.c:142 __alloc_skb+0xef/0x5a0 net/core/skbuff.c:210 alloc_skb include/linux/skbuff.h:1081 [inline] __tcp_send_ack.part.0+0x67/0x5a0 net/ipv4/tcp_output.c:3750 __tcp_send_ack net/ipv4/tcp_output.c:3777 [inline] tcp_send_ack+0x7d/0xa0 net/ipv4/tcp_output.c:3777 __tcp_ack_snd_check+0x156/0x950 net/ipv4/tcp_input.c:5263 tcp_rcv_established+0x16a6/0x1d50 net/ipv4/tcp_input.c:5694 tcp_v4_do_rcv+0x605/0x8b0 net/ipv4/tcp_ipv4.c:1619 tcp_v4_rcv+0x2d70/0x3700 net/ipv4/tcp_ipv4.c:2001 ip_protocol_deliver_rcu+0x57/0x860 net/ipv4/ip_input.c:204 ip_local_deliver_finish+0x222/0x370 net/ipv4/ip_input.c:231 NF_HOOK include/linux/netfilter.h:307 [inline] NF_HOOK include/linux/netfilter.h:301 [inline] ip_local_deliver+0x1c8/0x4e0 net/ipv4/ip_input.c:252 dst_input include/net/dst.h:442 [inline] ip_sublist_rcv_finish+0x9a/0x2c0 net/ipv4/ip_input.c:549 ip_list_rcv_finish net/ipv4/ip_input.c:599 [inline] ip_sublist_rcv+0x456/0x890 net/ipv4/ip_input.c:607 ip_list_rcv+0x32f/0x456 net/ipv4/ip_input.c:642 __netif_receive_skb_list_ptype net/core/dev.c:5228 [inline] __netif_receive_skb_list_core+0x583/0x900 net/core/dev.c:5276 __netif_receive_skb_list net/core/dev.c:5328 [inline] netif_receive_skb_list_internal+0x78b/0xd80 net/core/dev.c:5423 gro_normal_list.part.0+0x19/0xb0 net/core/dev.c:5534 gro_normal_list net/core/dev.c:6267 [inline] napi_complete_done+0x1fc/0x490 net/core/dev.c:6255 virtqueue_napi_complete+0x2c/0xa0 drivers/net/virtio_net.c:329 virtnet_poll+0xab8/0xd70 drivers/net/virtio_net.c:1432 napi_poll net/core/dev.c:6569 [inline] net_rx_action+0x428/0xef0 net/core/dev.c:6637 __do_softirq+0x21e/0x950 kernel/softirq.c:292 Freed by task 0: save_stack+0x1b/0x80 mm/kasan/common.c:72 set_track mm/kasan/common.c:80 [inline] kasan_set_free_info mm/kasan/common.c:337 [inline] __kasan_slab_free+0x117/0x160 mm/kasan/common.c:476 slab_free_hook mm/slub.c:1444 [inline] slab_free_freelist_hook mm/slub.c:1477 [inline] slab_free mm/slub.c:3024 [inline] kfree+0xd5/0x300 mm/slub.c:3976 skb_free_head+0x8b/0xa0 net/core/skbuff.c:590 skb_release_data+0x41f/0x7c0 net/core/skbuff.c:610 skb_release_all+0x46/0x60 net/core/skbuff.c:664 _kfree_skb_defer net/core/skbuff.c:872 [inline] napi_consume_skb+0x168/0x550 net/core/skbuff.c:917 free_old_xmit_skbs+0xe5/0x270 drivers/net/virtio_net.c:1366 virtnet_poll_tx+0x1fb/0x380 drivers/net/virtio_net.c:1493 napi_poll net/core/dev.c:6569 [inline] net_rx_action+0x428/0xef0 net/core/dev.c:6637 __do_softirq+0x21e/0x950 kernel/softirq.c:292 The buggy address belongs to the object at ffff8881c40e7000 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 272 bytes inside of 1024-byte region [ffff8881c40e7000, ffff8881c40e7400) The buggy address belongs to the page: page:ffffea0007103800 refcount:1 mapcount:0 mapping:ffff8881da002280 index:0xffff8881c40e0000 compound_mapcount: 0 flags: 0x200000000010200(slab|head) raw: 0200000000010200 ffffea0006b9b008 ffffea00074dd408 ffff8881da002280 raw: ffff8881c40e0000 000000000010000f 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881c40e7000: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881c40e7080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8881c40e7100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8881c40e7180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881c40e7200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================