general protection fault in pcl816_interrupt

Status: upstream: reported on 2026/10/13 21:02
Reported-by: syzbot+9d0335eaaeb2ab035870@syzkaller.appspotmail.com
First crash: 7d05h, last: 7d05h

Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
CPU: 0 PID: 1279 Comm: kworker/u4:4 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue:  0x0 (events_unbound)
RIP: 0010:pcl816_interrupt+0xe3/0x940 drivers/comedi/drivers/pcl816.c:247
Code: 74 24 30 4d 8b 3e 4c 89 f8 48 c1 e8 03 42 80 3c 20 00 74 08 4c 89 ff e8 6b 8b 34 fa 4d 8b 37 49 8d 7e 08 48 89 f8 48 c1 e8 03 <42> 80 3c 20 00 74 05 e8 51 8b 34 fa 49 8b 46 08 48 89 44 24 38 49
RSP: 0018:ffffc90000007ce0 EFLAGS: 00010002
RAX: 0000000000000001 RBX: ffff88802b7fa800 RCX: ffff88802358d940
RDX: 0000000000010000 RSI: ffff88802b7fa800 RDI: 0000000000000008
RBP: ffffc90000007dd0 R08: ffffffff8e6b282f R09: 1ffffffff1cd6505
R10: dffffc0000000000 R11: fffffbfff1cd6506 R12: dffffc0000000000
R13: ffff88805f234600 R14: 0000000000000000 R15: ffff88814858dd80
FS:  0000000000000000(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b32822ff8 CR3: 0000000063869000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 __handle_irq_event_percpu+0x299/0x9d0 kernel/irq/handle.c:156
 handle_irq_event_percpu kernel/irq/handle.c:196 [inline]
 handle_irq_event+0xa5/0x220 kernel/irq/handle.c:213
 handle_edge_irq+0x242/0xb20 kernel/irq/chip.c:819
 generic_handle_irq_desc include/linux/irqdesc.h:158 [inline]
 handle_irq arch/x86/kernel/irq.c:233 [inline]
 __common_interrupt+0xd7/0x1e0 arch/x86/kernel/irq.c:252
 common_interrupt+0xb0/0xd0 arch/x86/kernel/irq.c:242
 </IRQ>
 <TASK>
 asm_common_interrupt+0x22/0x40 arch/x86/include/asm/idtentry.h:667
RIP: 0010:finish_lock_switch+0x12f/0x290 kernel/sched/core.c:4804
Code: 83 c7 18 be ff ff ff ff e8 be bc 6d 08 85 c0 74 46 4d 85 ff 75 62 0f 1f 44 00 00 48 89 df e8 58 2d 77 08 e8 a3 f2 2a 00 fb 5b <41> 5c 41 5d 41 5e 41 5f 5d c3 48 89 df e8 2f 0e fe ff 43 80 3c 2c
RSP: 0018:ffffc90004fe7b38 EFLAGS: 00000286
RAX: b9090c8ea08fad00 RBX: ffff88807a72bb80 RCX: b9090c8ea08fad00
RDX: dffffc0000000000 RSI: ffffffff8a2b2be0 RDI: ffffffff8a7a4c00
RBP: 1ffff110171c7613 R08: ffff8880b8e3a343 R09: 1ffff110171c7468
R10: dffffc0000000000 R11: ffffed10171c7469 R12: 1ffff110171c75c1
R13: dffffc0000000000 R14: ffff8880b8e3ae08 R15: 0000000000000000
 finish_task_switch+0x12f/0x650 kernel/sched/core.c:4921
 context_switch kernel/sched/core.c:5052 [inline]
 __schedule+0x11cb/0x4350 kernel/sched/core.c:6395
 schedule+0x11b/0x1e0 kernel/sched/core.c:6478
 worker_thread+0xf90/0x12a0 kernel/workqueue.c:2478
 kthread+0x42e/0x520 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>
Modules linked in:
---[ end trace f63112c7bec0d773 ]---
RIP: 0010:pcl816_interrupt+0xe3/0x940 drivers/comedi/drivers/pcl816.c:247
Code: 74 24 30 4d 8b 3e 4c 89 f8 48 c1 e8 03 42 80 3c 20 00 74 08 4c 89 ff e8 6b 8b 34 fa 4d 8b 37 49 8d 7e 08 48 89 f8 48 c1 e8 03 <42> 80 3c 20 00 74 05 e8 51 8b 34 fa 49 8b 46 08 48 89 44 24 38 49
RSP: 0018:ffffc90000007ce0 EFLAGS: 00010002
RAX: 0000000000000001 RBX: ffff88802b7fa800 RCX: ffff88802358d940
RDX: 0000000000010000 RSI: ffff88802b7fa800 RDI: 0000000000000008
RBP: ffffc90000007dd0 R08: ffffffff8e6b282f R09: 1ffffffff1cd6505
R10: dffffc0000000000 R11: fffffbfff1cd6506 R12: dffffc0000000000
R13: ffff88805f234600 R14: 0000000000000000 R15: ffff88814858dd80
FS:  0000000000000000(0000) GS:ffff8880b8e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b32822ff8 CR3: 0000000063869000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	74 24                	je     0x26
   2:	30 4d 8b             	xor    %cl,-0x75(%rbp)
   5:	3e 4c 89 f8          	ds mov %r15,%rax
   9:	48 c1 e8 03          	shr    $0x3,%rax
   d:	42 80 3c 20 00       	cmpb   $0x0,(%rax,%r12,1)
  12:	74 08                	je     0x1c
  14:	4c 89 ff             	mov    %r15,%rdi
  17:	e8 6b 8b 34 fa       	call   0xfa348b87
  1c:	4d 8b 37             	mov    (%r15),%r14
  1f:	49 8d 7e 08          	lea    0x8(%r14),%rdi
  23:	48 89 f8             	mov    %rdi,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	42 80 3c 20 00       	cmpb   $0x0,(%rax,%r12,1) <-- trapping instruction
  2f:	74 05                	je     0x36
  31:	e8 51 8b 34 fa       	call   0xfa348b87
  36:	49 8b 46 08          	mov    0x8(%r14),%rax
  3a:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
  3f:	49                   	rex.WB

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/10/13 21:01 linux-5.15.y a051a4bf909f 5a1eeac4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan general protection fault in pcl816_interrupt
* Struck through repros no longer work on HEAD.