Kernel bug: WARNING in pvr2_send_request_ex
Subsystem: pvrusb2, usb
Status: fixed

Crash report:
pvrusb2: Invalid read control endpoint
------------[ cut here ]------------
URB ffff88814e172b00 submitted while active
WARNING: drivers/usb/core/urb.c:380 at 0x0, CPU#0: pvrusb2-context/2345
Modules linked in:
CPU: 0 UID: 0 PID: 2345 Comm: pvrusb2-context Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
RIP: 0010:usb_submit_urb+0x7e/0x18d0 drivers/usb/core/urb.c:380
Code: 89 f0 48 c1 e8 03 42 80 3c 38 00 74 08 4c 89 f7 e8 07 cf 20 fb 49 83 3e 00 74 40 e8 6c 82 ba fa 48 8d 3d e5 1e c8 08 48 89 de <67> 48 0f b9 3a b8 f0 ff ff ff eb 11 e8 51 82 ba fa eb 05 e8 4a 82
RSP: 0018:ffffc90004f268a0 EFLAGS: 00010293
RAX: ffffffff870770c4 RBX: ffff88814e172b00 RCX: ffff88802a5c8000
RDX: 0000000000000000 RSI: ffff88814e172b00 RDI: ffffffff8fcf8fb0
RBP: ffffc90004f26b00 R08: 0000000000000000 R09: 0000000000000000
R10: dffffc0000000000 R11: fffffbfff1f85a8f R12: 0000000000000cc0
R13: ffff88806783d5f8 R14: ffff88814e172b08 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff888125a03000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f910bc43e9c CR3: 000000000e13a000 CR4: 00000000003526f0
Call Trace:
 <TASK>
 pvr2_send_request_ex+0xc2a/0x2030 drivers/media/usb/pvrusb2/pvrusb2-hdw.c:3676
 pvr2_send_request+0x38/0x50 drivers/media/usb/pvrusb2/pvrusb2-hdw.c:3819
 pvr2_i2c_read drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c:130 [inline]
 pvr2_i2c_basic_op+0x44e/0x930 drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c:172
 pvr2_i2c_xfer+0x9e3/0xda0 drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c:445
 __i2c_transfer+0x871/0x2110 drivers/i2c/i2c-core-base.c:-1
 i2c_smbus_xfer_emulated drivers/i2c/i2c-core-smbus.c:470 [inline]
 __i2c_smbus_xfer+0xf80/0x1e40 drivers/i2c/i2c-core-smbus.c:608
 i2c_smbus_xfer+0x275/0x3c0 drivers/i2c/i2c-core-smbus.c:546
 i2c_smbus_read_byte_data+0xfe/0x1c0 drivers/i2c/i2c-core-smbus.c:143
 saa711x_detect_chip drivers/media/i2c/saa7115.c:1710 [inline]
 saa711x_probe+0x1c1/0x1570 drivers/media/i2c/saa7115.c:1816
 i2c_device_probe+0x87e/0xc00 drivers/i2c/i2c-core-base.c:592
 call_driver_probe drivers/base/dd.c:-1 [inline]
 really_probe+0x26d/0xad0 drivers/base/dd.c:659
 __driver_probe_device+0x18c/0x320 drivers/base/dd.c:801
 driver_probe_device+0x4f/0x240 drivers/base/dd.c:831
 __device_attach_driver+0x279/0x430 drivers/base/dd.c:959
 bus_for_each_drv+0x251/0x2e0 drivers/base/bus.c:500
 __device_attach+0x2b8/0x430 drivers/base/dd.c:1031
 device_initial_probe+0xa1/0xd0 drivers/base/dd.c:1086
 bus_probe_device+0x12a/0x220 drivers/base/bus.c:574
 device_add+0x7b6/0xb80 drivers/base/core.c:3689
 i2c_new_client_device+0xa11/0x1150 drivers/i2c/i2c-core-base.c:1019
 v4l2_i2c_new_subdev_board+0x86/0x250 drivers/media/v4l2-core/v4l2-i2c.c:81
 v4l2_i2c_new_subdev+0x14a/0x1e0 drivers/media/v4l2-core/v4l2-i2c.c:136
 pvr2_hdw_load_subdev drivers/media/usb/pvrusb2/pvrusb2-hdw.c:-1 [inline]
 pvr2_hdw_load_modules drivers/media/usb/pvrusb2/pvrusb2-hdw.c:2074 [inline]
 pvr2_hdw_setup_low drivers/media/usb/pvrusb2/pvrusb2-hdw.c:2155 [inline]
 pvr2_hdw_setup drivers/media/usb/pvrusb2/pvrusb2-hdw.c:2261 [inline]
 pvr2_hdw_initialize+0xe18/0x3ac0 drivers/media/usb/pvrusb2/pvrusb2-hdw.c:2338
 pvr2_context_check drivers/media/usb/pvrusb2/pvrusb2-context.c:111 [inline]
 pvr2_context_thread_func+0x487/0xaf0 drivers/media/usb/pvrusb2/pvrusb2-context.c:158
 kthread+0x711/0x8a0 kernel/kthread.c:463
 ret_from_fork+0x599/0xb30 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
 </TASK>
----------------
Code disassembly (best guess):
   0:	89 f0                	mov    %esi,%eax
   2:	48 c1 e8 03          	shr    $0x3,%rax
   6:	42 80 3c 38 00       	cmpb   $0x0,(%rax,%r15,1)
   b:	74 08                	je     0x15
   d:	4c 89 f7             	mov    %r14,%rdi
  10:	e8 07 cf 20 fb       	call   0xfb20cf1c
  15:	49 83 3e 00          	cmpq   $0x0,(%r14)
  19:	74 40                	je     0x5b
  1b:	e8 6c 82 ba fa       	call   0xfaba828c
  20:	48 8d 3d e5 1e c8 08 	lea    0x8c81ee5(%rip),%rdi        # 0x8c81f0c
  27:	48 89 de             	mov    %rbx,%rsi
* 2a:	67 48 0f b9 3a       	ud1    (%edx),%rdi <-- trapping instruction
  2f:	b8 f0 ff ff ff       	mov    $0xfffffff0,%eax
  34:	eb 11                	jmp    0x47
  36:	e8 51 82 ba fa       	call   0xfaba828c
  3b:	eb 05                	jmp    0x42
  3d:	e8                   	.byte 0xe8
  3e:	4a                   	rex.WX
  3f:	82                   	.byte 0x82