usb 2-1: invalid cport id 160 received
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted syzkaller #0 PREEMPT(lazy)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue: usb_hub_wq hub_event
RIP: 0010:gb_operation_message_init drivers/greybus/operation.c:340 [inline]
RIP: 0010:gb_operation_message_alloc+0x186/0x2c0 drivers/greybus/operation.c:385
Code: 00 e8 be b2 98 fb 41 80 fd 7f 0f 84 b9 00 00 00 e8 9f b8 98 fb 48 89 ea 41 83 c4 08 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 01 0f 8e b8 00 00 00 48 8d 7d 02 66 44
RSP: 0018:ffffc900000079f0 EFLAGS: 00010002
RAX: dffffc0000000000 RBX: ffff8881357d8ec0 RCX: ffffc90001202000
RDX: 0000000000000002 RSI: ffffffff861c2fd1 RDI: ffff888101e81e40
RBP: 0000000000000010 R08: 0000000000000001 R09: 000000000000007f
R10: 0000000000000000 R11: ffffffff8100148a R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000800 R15: 0000000000000018
FS: 0000000000000000(0000) GS:ffff8882683e8000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f463d4156c8 CR3: 000000012532c000 CR4: 00000000003506f0
Call Trace:
gb_operation_create_common+0x9f/0x710 drivers/greybus/operation.c:532
gb_operation_create_incoming drivers/greybus/operation.c:644 [inline]
gb_connection_recv_request drivers/greybus/operation.c:926 [inline]
gb_connection_recv+0x1dc/0x1050 drivers/greybus/operation.c:1063
greybus_data_rcvd+0x244/0x600 drivers/greybus/connection.c:89
cport_in_callback+0x1fb/0x280 drivers/greybus/es2.c:840
__usb_hcd_giveback_urb+0x38e/0x610 drivers/usb/core/hcd.c:1657
usb_hcd_giveback_urb+0x3ca/0x4a0 drivers/usb/core/hcd.c:1741
dummy_timer+0xdb2/0x3700 drivers/usb/gadget/udc/dummy_hcd.c:2019
__run_hrtimer kernel/time/hrtimer.c:2067 [inline]
__hrtimer_run_queues+0x462/0x9c0 kernel/time/hrtimer.c:2124
hrtimer_run_softirq+0x1ca/0x360 kernel/time/hrtimer.c:2141
handle_softirqs+0x1d9/0x9b0 kernel/softirq.c:645
__do_softirq kernel/softirq.c:679 [inline]
invoke_softirq kernel/softirq.c:519 [inline]
__irq_exit_rcu+0x192/0x210 kernel/softirq.c:767
irq_exit_rcu+0x9/0x30 kernel/softirq.c:784
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
sysvec_apic_timer_interrupt+0x8f/0xb0 arch/x86/kernel/apic/apic.c:1062
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
RIP: 0010:kasan_check_byte include/linux/kasan.h:402 [inline]
RIP: 0010:lock_acquire kernel/locking/lockdep.c:5882 [inline]
RIP: 0010:lock_acquire+0x12a/0x380 kernel/locking/lockdep.c:5865
Code: c3 07 00 4c 8b 14 24 65 49 ff 42 08 65 8b 05 75 c9 92 0b 83 f8 07 0f 86 26 ff ff ff 90 0f 0b 90 e9 1d ff ff ff 48 8b 74 24 68 <48> 89 ef e8 3e dc 8e 00 8b 0d 9c ec 84 09 85 c9 0f 84 d5 00 00 00
RSP: 0018:ffffc900000be920 EFLAGS: 00000202
RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000000000002
RDX: 0000000000000000 RSI: ffffffff816fef01 RDI: ffffffff894b2be0
RBP: ffffffff898e49a0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000200 R11: 000000000004022f R12: 0000000000000002
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
rcu_lock_acquire include/linux/rcupdate.h:309 [inline]
rcu_read_lock include/linux/rcupdate.h:849 [inline]
class_rcu_constructor include/linux/rcupdate.h:1216 [inline]
unwind_next_frame+0xd1/0x2090 arch/x86/kernel/unwind_orc.c:495
arch_stack_walk+0x94/0xf0 arch/x86/kernel/stacktrace.c:25
stack_trace_save+0x8e/0xc0 kernel/stacktrace.c:122
kasan_save_stack+0x30/0x50 mm/kasan/common.c:57
kasan_save_track+0x14/0x30 mm/kasan/common.c:78
poison_kmalloc_redzone mm/kasan/common.c:398 [inline]
__kasan_kmalloc+0x8f/0xa0 mm/kasan/common.c:415
kasan_kmalloc include/linux/kasan.h:263 [inline]
__kmalloc_cache_noprof+0x2d8/0x680 mm/slub.c:5563
_kmalloc_noprof include/linux/slab.h:991 [inline]
dummy_urb_enqueue+0xa3/0x880 drivers/usb/gadget/udc/dummy_hcd.c:1295
usb_hcd_submit_urb+0x268/0x2150 drivers/usb/core/hcd.c:1542
usb_submit_urb+0x827/0x19b0 drivers/usb/core/urb.c:586
es2_cport_in_enable drivers/greybus/es2.c:238 [inline]
ap_probe+0xdda/0x11e0 drivers/greybus/es2.c:1414
usb_probe_interface+0x386/0x9b0 drivers/usb/core/driver.c:399
call_driver_probe drivers/base/dd.c:628 [inline]
really_probe+0x241/0xa60 drivers/base/dd.c:706
__driver_probe_device+0x210/0x460 drivers/base/dd.c:868
driver_probe_device+0x4a/0x140 drivers/base/dd.c:898
__device_attach_driver+0x1df/0x320 drivers/base/dd.c:1026
bus_for_each_drv+0x159/0x1e0 drivers/base/bus.c:500
__device_attach+0x1e4/0x4d0 drivers/base/dd.c:1098
device_initial_probe+0xaf/0xd0 drivers/base/dd.c:1153
bus_probe_device+0x64/0x160 drivers/base/bus.c:620
device_add+0x121d/0x1970 drivers/base/core.c:3776
usb_set_configuration+0xd97/0x1c60 drivers/usb/core/message.c:2268
usb_generic_driver_probe+0xa1/0xe0 drivers/usb/core/generic.c:250
usb_probe_device+0xef/0x400 drivers/usb/core/driver.c:293
call_driver_probe drivers/base/dd.c:628 [inline]
really_probe+0x241/0xa60 drivers/base/dd.c:706
__driver_probe_device+0x210/0x460 drivers/base/dd.c:868
driver_probe_device+0x4a/0x140 drivers/base/dd.c:898
__device_attach_driver+0x1df/0x320 drivers/base/dd.c:1026
bus_for_each_drv+0x159/0x1e0 drivers/base/bus.c:500
__device_attach+0x1e4/0x4d0 drivers/base/dd.c:1098
device_initial_probe+0xaf/0xd0 drivers/base/dd.c:1153
bus_probe_device+0x64/0x160 drivers/base/bus.c:620
device_add+0x121d/0x1970 drivers/base/core.c:3776
usb_new_device.part.0+0xcc2/0x1686 drivers/usb/core/hub.c:2708
usb_new_device drivers/usb/core/hub.c:5833 [inline]
hub_port_connect drivers/usb/core/hub.c:5580 [inline]
hub_port_connect_change drivers/usb/core/hub.c:5720 [inline]
port_event drivers/usb/core/hub.c:5884 [inline]
hub_event.cold+0x51a/0xe9d drivers/usb/core/hub.c:5966
process_one_work+0xac7/0x1b10 kernel/workqueue.c:3387
process_scheduled_works kernel/workqueue.c:3470 [inline]
worker_thread+0x5ef/0xe50 kernel/workqueue.c:3551
kthread+0x373/0x450 kernel/kthread.c:436
ret_from_fork+0x69f/0xc90 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:gb_operation_message_init drivers/greybus/operation.c:340 [inline]
RIP: 0010:gb_operation_message_alloc+0x186/0x2c0 drivers/greybus/operation.c:385
Code: 00 e8 be b2 98 fb 41 80 fd 7f 0f 84 b9 00 00 00 e8 9f b8 98 fb 48 89 ea 41 83 c4 08 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 01 0f 8e b8 00 00 00 48 8d 7d 02 66 44
RSP: 0018:ffffc900000079f0 EFLAGS: 00010002
RAX: dffffc0000000000 RBX: ffff8881357d8ec0 RCX: ffffc90001202000
RDX: 0000000000000002 RSI: ffffffff861c2fd1 RDI: ffff888101e81e40
RBP: 0000000000000010 R08: 0000000000000001 R09: 000000000000007f
R10: 0000000000000000 R11: ffffffff8100148a R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000800 R15: 0000000000000018
FS: 0000000000000000(0000) GS:ffff8882683e8000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f463d4156c8 CR3: 000000012532c000 CR4: 00000000003506f0
----------------
Code disassembly (best guess):
0: 00 e8 add %ch,%al
2: be b2 98 fb 41 mov $0x41fb98b2,%esi
7: 80 fd 7f cmp $0x7f,%ch
a: 0f 84 b9 00 00 00 je 0xc9
10: e8 9f b8 98 fb call 0xfb98b8b4
15: 48 89 ea mov %rbp,%rdx
18: 41 83 c4 08 add $0x8,%r12d
1c: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
23: fc ff df
26: 48 c1 ea 03 shr $0x3,%rdx
* 2a: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax <-- trapping instruction
2e: 84 c0 test %al,%al
30: 74 08 je 0x3a
32: 3c 01 cmp $0x1,%al
34: 0f 8e b8 00 00 00 jle 0xf2
3a: 48 8d 7d 02 lea 0x2(%rbp),%rdi
3e: 66 data16
3f: 44 rex.R