radio-si470x 1-1:0.0: non-zero urb status (-71)
==================================================================
BUG: KASAN: use-after-free in si470x_int_in_callback.cold+0x27/0xbe drivers/media/radio/si470x/radio-si470x-usb.c:378
Read of size 8 at addr ffff8881cd2f6b50 by task kworker/0:1/12
CPU: 0 PID: 12 Comm: kworker/0:1 Not tainted 5.7.0-rc6-syzkaller #0
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+0xef/0x16e lib/dump_stack.c:118
print_address_description.constprop.0.cold+0xd3/0x415 mm/kasan/report.c:382
__kasan_report.cold+0x37/0x7d mm/kasan/report.c:511
kasan_report+0x33/0x50 mm/kasan/common.c:625
si470x_int_in_callback.cold+0x27/0xbe drivers/media/radio/si470x/radio-si470x-usb.c:378
__usb_hcd_giveback_urb+0x29a/0x550 drivers/usb/core/hcd.c:1650
usb_hcd_giveback_urb+0x368/0x420 drivers/usb/core/hcd.c:1716
dummy_timer+0x125e/0x32b4 drivers/usb/gadget/udc/dummy_hcd.c:1967
call_timer_fn+0x1ac/0x700 kernel/time/timer.c:1405
expire_timers kernel/time/timer.c:1450 [inline]
__run_timers kernel/time/timer.c:1774 [inline]
__run_timers kernel/time/timer.c:1741 [inline]
run_timer_softirq+0x5f9/0x1500 kernel/time/timer.c:1787
__do_softirq+0x21e/0x9aa 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:1140
apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829
RIP: 0010:arch_local_irq_restore arch/x86/include/asm/irqflags.h:85 [inline]
RIP: 0010:console_unlock+0xa6b/0xca0 kernel/printk/printk.c:2506
Code: 00 89 ee 48 c7 c7 20 d2 14 87 e8 50 cf 03 00 65 ff 0d 51 2f d8 7e e9 b5 f9 ff ff e8 4f 5f 16 00 e8 2a bc 1b 00 ff 74 24 30 9d 17 fe ff ff e8 3b 5f 16 00 48 8d 7d 08 48 89 f8 48 c1 e8 03 42
RSP: 0018:ffff8881da21f0c0 EFLAGS: 00000293 ORIG_RAX: ffffffffffffff13
RAX: 0000000000000007 RBX: 0000000000000200 RCX: 1ffffffff126c9bd
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8881da20a13c
RBP: 0000000000000000 R08: 0000000000000001 R09: fffffbfff126c8bd
R10: ffffffff893645e7 R11: fffffbfff126c8bc R12: ffffffff82abb150
R13: ffffffff874ee310 R14: 000000000000004c R15: dffffc0000000000
vprintk_emit+0x16d/0x3e0 kernel/printk/printk.c:2021
vprintk_func+0x75/0x113 kernel/printk/printk_safe.c:385
printk+0xba/0xed kernel/printk/printk.c:2081
really_probe.cold+0x88/0x1fd drivers/base/dd.c:600
driver_probe_device+0x223/0x350 drivers/base/dd.c:697
__device_attach_driver+0x1d1/0x290 drivers/base/dd.c:804
bus_for_each_drv+0x162/0x1e0 drivers/base/bus.c:431
__device_attach+0x21a/0x390 drivers/base/dd.c:870
bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
device_add+0x1367/0x1c40 drivers/base/core.c:2538
usb_set_configuration+0xed4/0x1850 drivers/usb/core/message.c:2032
usb_generic_driver_probe+0x9d/0xe0 drivers/usb/core/generic.c:241
usb_probe_device+0xd9/0x230 drivers/usb/core/driver.c:272
really_probe+0x290/0xac0 drivers/base/dd.c:520
driver_probe_device+0x223/0x350 drivers/base/dd.c:697
__device_attach_driver+0x1d1/0x290 drivers/base/dd.c:804
bus_for_each_drv+0x162/0x1e0 drivers/base/bus.c:431
__device_attach+0x21a/0x390 drivers/base/dd.c:870
bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
device_add+0x1367/0x1c40 drivers/base/core.c:2538
usb_new_device.cold+0x552/0xf6e drivers/usb/core/hub.c:2554
hub_port_connect drivers/usb/core/hub.c:5208 [inline]
hub_port_connect_change drivers/usb/core/hub.c:5348 [inline]
port_event drivers/usb/core/hub.c:5494 [inline]
hub_event+0x226d/0x43c0 drivers/usb/core/hub.c:5576
process_one_work+0x965/0x1630 kernel/workqueue.c:2268
worker_thread+0x96/0xe20 kernel/workqueue.c:2414
kthread+0x326/0x430 kernel/kthread.c:268
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:351
Allocated by task 12:
save_stack+0x1b/0x40 mm/kasan/common.c:49
set_track mm/kasan/common.c:57 [inline]
__kasan_kmalloc mm/kasan/common.c:495 [inline]
__kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:468
kmalloc include/linux/slab.h:555 [inline]
kzalloc include/linux/slab.h:669 [inline]
si470x_usb_driver_probe+0x51/0xf50 drivers/media/radio/si470x/radio-si470x-usb.c:573
usb_probe_interface+0x310/0x800 drivers/usb/core/driver.c:374
really_probe+0x290/0xac0 drivers/base/dd.c:520
driver_probe_device+0x223/0x350 drivers/base/dd.c:697
__device_attach_driver+0x1d1/0x290 drivers/base/dd.c:804
bus_for_each_drv+0x162/0x1e0 drivers/base/bus.c:431
__device_attach+0x21a/0x390 drivers/base/dd.c:870
bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
device_add+0x1367/0x1c40 drivers/base/core.c:2538
usb_set_configuration+0xed4/0x1850 drivers/usb/core/message.c:2032
usb_generic_driver_probe+0x9d/0xe0 drivers/usb/core/generic.c:241
usb_probe_device+0xd9/0x230 drivers/usb/core/driver.c:272
really_probe+0x290/0xac0 drivers/base/dd.c:520
driver_probe_device+0x223/0x350 drivers/base/dd.c:697
__device_attach_driver+0x1d1/0x290 drivers/base/dd.c:804
bus_for_each_drv+0x162/0x1e0 drivers/base/bus.c:431
__device_attach+0x21a/0x390 drivers/base/dd.c:870
bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
device_add+0x1367/0x1c40 drivers/base/core.c:2538
usb_new_device.cold+0x552/0xf6e drivers/usb/core/hub.c:2554
hub_port_connect drivers/usb/core/hub.c:5208 [inline]
hub_port_connect_change drivers/usb/core/hub.c:5348 [inline]
port_event drivers/usb/core/hub.c:5494 [inline]
hub_event+0x226d/0x43c0 drivers/usb/core/hub.c:5576
process_one_work+0x965/0x1630 kernel/workqueue.c:2268
worker_thread+0x96/0xe20 kernel/workqueue.c:2414
kthread+0x326/0x430 kernel/kthread.c:268
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:351
Freed by task 12:
save_stack+0x1b/0x40 mm/kasan/common.c:49
set_track mm/kasan/common.c:57 [inline]
kasan_set_free_info mm/kasan/common.c:317 [inline]
__kasan_slab_free+0x117/0x160 mm/kasan/common.c:456
slab_free_hook mm/slub.c:1455 [inline]
slab_free_freelist_hook mm/slub.c:1488 [inline]
slab_free mm/slub.c:3045 [inline]
kfree+0xd5/0x300 mm/slub.c:4026
si470x_usb_driver_probe+0xb27/0xf50 drivers/media/radio/si470x/radio-si470x-usb.c:766
usb_probe_interface+0x310/0x800 drivers/usb/core/driver.c:374
really_probe+0x290/0xac0 drivers/base/dd.c:520
driver_probe_device+0x223/0x350 drivers/base/dd.c:697
__device_attach_driver+0x1d1/0x290 drivers/base/dd.c:804
bus_for_each_drv+0x162/0x1e0 drivers/base/bus.c:431
__device_attach+0x21a/0x390 drivers/base/dd.c:870
bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
device_add+0x1367/0x1c40 drivers/base/core.c:2538
usb_set_configuration+0xed4/0x1850 drivers/usb/core/message.c:2032
usb_generic_driver_probe+0x9d/0xe0 drivers/usb/core/generic.c:241
usb_probe_device+0xd9/0x230 drivers/usb/core/driver.c:272
really_probe+0x290/0xac0 drivers/base/dd.c:520
driver_probe_device+0x223/0x350 drivers/base/dd.c:697
__device_attach_driver+0x1d1/0x290 drivers/base/dd.c:804
bus_for_each_drv+0x162/0x1e0 drivers/base/bus.c:431
__device_attach+0x21a/0x390 drivers/base/dd.c:870
bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
device_add+0x1367/0x1c40 drivers/base/core.c:2538
usb_new_device.cold+0x552/0xf6e drivers/usb/core/hub.c:2554
hub_port_connect drivers/usb/core/hub.c:5208 [inline]
hub_port_connect_change drivers/usb/core/hub.c:5348 [inline]
port_event drivers/usb/core/hub.c:5494 [inline]
hub_event+0x226d/0x43c0 drivers/usb/core/hub.c:5576
process_one_work+0x965/0x1630 kernel/workqueue.c:2268
worker_thread+0x96/0xe20 kernel/workqueue.c:2414
kthread+0x326/0x430 kernel/kthread.c:268
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:351
The buggy address belongs to the object at ffff8881cd2f6000
which belongs to the cache kmalloc-4k of size 4096
The buggy address is located 2896 bytes inside of
4096-byte region [ffff8881cd2f6000, ffff8881cd2f7000)
The buggy address belongs to the page:
page:ffffea000734bc00 refcount:1 mapcount:0 mapping:000000008fc8cd87 index:0x0 head:ffffea000734bc00 order:3 compound_mapcount:0 compound_pincount:0
flags: 0x200000000010200(slab|head)
raw: 0200000000010200 dead000000000100 dead000000000122 ffff8881da00c280
raw: 0000000000000000 0000000000040004 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
Memory state around the buggy address:
ffff8881cd2f6a00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff8881cd2f6a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff8881cd2f6b00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff8881cd2f6b80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff8881cd2f6c00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================