Kernel bug: general protection fault in su3000_i2c_transfer
Subsystem: usb, media
Status: open

Crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
CPU: 1 UID: 0 PID: 5981 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
RIP: 0010:su3000_i2c_transfer+0x610/0xea0 drivers/media/usb/dvb-usb/dw2102.c:740
Code: 42 ec f9 48 8d 7b 08 48 89 f8 48 c1 e8 03 42 80 3c 38 00 0f 85 81 07 00 00 48 8b 5b 08 48 89 d8 48 89 da 48 c1 e8 03 83 e2 07 <42> 0f b6 04 38 38 d0 7f 08 84 c0 0f 85 52 07 00 00 48 8b 44 24 10
RSP: 0018:ffffc900038e7c30 EFLAGS: 00010246
RAX: 0000000000000002 RBX: 0000000000000010 RCX: ffffffff87d29fa5
RDX: 0000000000000000 RSI: ffffffff87d2a429 RDI: ffff88802fcaae48
RBP: 0000000000000000 R08: 0000000000000003 R09: 0000000000001a00
R10: 0000000000001900 R11: ffff888031070b30 R12: ffff88803560ac00
R13: 0000000000001900 R14: 0000000000000001 R15: dffffc0000000000
FS:  00005555817f9500(0000) GS:ffff8881249f5000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b2ed63fff CR3: 000000007d7d3000 CR4: 00000000003526f0
Call Trace:
 <TASK>
 __i2c_transfer+0x6b6/0x2100 drivers/i2c/i2c-core-base.c:2261
 i2c_transfer drivers/i2c/i2c-core-base.c:2317 [inline]
 i2c_transfer+0x1da/0x380 drivers/i2c/i2c-core-base.c:2293
 i2cdev_ioctl_rdwr+0x373/0x710 drivers/i2c/i2c-dev.c:306
 i2cdev_ioctl+0x628/0x840 drivers/i2c/i2c-dev.c:467
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:597 [inline]
 __se_sys_ioctl fs/ioctl.c:583 [inline]
 __x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:583
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xcd/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fa4d2f8f749
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe2ab9b448 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fa4d31e5fa0 RCX: 00007fa4d2f8f749
RDX: 0000200000000080 RSI: 0000000000000707 RDI: 0000000000000004
RBP: 00007fa4d3013f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fa4d31e5fa0 R14: 00007fa4d31e5fa0 R15: 0000000000000003
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:su3000_i2c_transfer+0x610/0xea0 drivers/media/usb/dvb-usb/dw2102.c:740
Code: 42 ec f9 48 8d 7b 08 48 89 f8 48 c1 e8 03 42 80 3c 38 00 0f 85 81 07 00 00 48 8b 5b 08 48 89 d8 48 89 da 48 c1 e8 03 83 e2 07 <42> 0f b6 04 38 38 d0 7f 08 84 c0 0f 85 52 07 00 00 48 8b 44 24 10
RSP: 0018:ffffc900038e7c30 EFLAGS: 00010246
RAX: 0000000000000002 RBX: 0000000000000010 RCX: ffffffff87d29fa5
RDX: 0000000000000000 RSI: ffffffff87d2a429 RDI: ffff88802fcaae48
RBP: 0000000000000000 R08: 0000000000000003 R09: 0000000000001a00
R10: 0000000000001900 R11: ffff888031070b30 R12: ffff88803560ac00
R13: 0000000000001900 R14: 0000000000000001 R15: dffffc0000000000
FS:  00005555817f9500(0000) GS:ffff8881249f5000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b2ed63fff CR3: 000000007d7d3000 CR4: 00000000003526f0
----------------
Code disassembly (best guess):
   0:	42 ec                	rex.X in (%dx),%al
   2:	f9                   	stc
   3:	48 8d 7b 08          	lea    0x8(%rbx),%rdi
   7:	48 89 f8             	mov    %rdi,%rax
   a:	48 c1 e8 03          	shr    $0x3,%rax
   e:	42 80 3c 38 00       	cmpb   $0x0,(%rax,%r15,1)
  13:	0f 85 81 07 00 00    	jne    0x79a
  19:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
  1d:	48 89 d8             	mov    %rbx,%rax
  20:	48 89 da             	mov    %rbx,%rdx
  23:	48 c1 e8 03          	shr    $0x3,%rax
  27:	83 e2 07             	and    $0x7,%edx
* 2a:	42 0f b6 04 38       	movzbl (%rax,%r15,1),%eax <-- trapping instruction
  2f:	38 d0                	cmp    %dl,%al
  31:	7f 08                	jg     0x3b
  33:	84 c0                	test   %al,%al
  35:	0f 85 52 07 00 00    	jne    0x78d
  3b:	48 8b 44 24 10       	mov    0x10(%rsp),%rax