syzbot


general protection fault in ata_msense_control

Status: fixed on 2024/10/22 11:57
Subsystems: ide
[Documentation on labels]
Reported-by: syzbot+37757dc11ee77ef850bb@syzkaller.appspotmail.com
Fix commit: 03a9cfc1314b ata: libata-scsi: Fix ata_msense_control_spgt2()
First crash: 75d, last: 68d
Discussions (2)
Title Replies (including bot) Last reply
[PATCH] ata: libata: fix ALL_SUB_MPAGES not to be performed when CDL is not supported 7 (7) 2024/09/23 13:24
[syzbot] [ide?] general protection fault in ata_msense_control 1 (3) 2024/09/21 11:42
Last patch testing requests (1)
Created Duration User Patch Repo Result
2024/09/21 11:20 20m aha310510@gmail.com patch upstream OK log

Sample crash report:
program syz-executor305 is using a deprecated SCSI ioctl, please convert it to SG_IO
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
CPU: 0 UID: 0 PID: 5092 Comm: syz-executor305 Not tainted 6.11.0-syzkaller-07337-g2004cef11ea0 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
RIP: 0010:ata_msense_control_spgt2 drivers/ata/libata-scsi.c:2276 [inline]
RIP: 0010:ata_msense_control+0x966/0x1cf0 drivers/ata/libata-scsi.c:2358
Code: b6 04 10 84 c0 0f 85 9b 0f 00 00 4c 89 e8 48 c1 e8 03 0f b6 04 10 84 c0 0f 85 b6 0f 00 00 66 c7 03 00 e4 49 89 ec 49 c1 ec 03 <41> 0f b6 04 14 84 c0 0f 85 cc 0f 00 00 0f b6 5d 00 c0 e3 04 80 e3
RSP: 0018:ffffc90002d8f068 EFLAGS: 00010046
RAX: 0000000000000000 RBX: ffffffff9a7036be RCX: 0000000000000000
RDX: dffffc0000000000 RSI: 0000000000000000 RDI: ffffffff9a7036bd
RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000003
R10: ffffffff9a7036b3 R11: fffffbfff34e06d8 R12: 0000000000000000
R13: ffffffff9a7036bf R14: 0000000000000046 R15: ffff888034faadf8
FS:  00005555605c5380(0000) GS:ffff88801fe00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000380 CR3: 000000003dd82000 CR4: 0000000000350ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 ata_scsiop_mode_sense drivers/ata/libata-scsi.c:2474 [inline]
 ata_scsi_rbuf_fill drivers/ata/libata-scsi.c:1815 [inline]
 ata_scsi_simulate+0x1ae8/0x2320 drivers/ata/libata-scsi.c:4316
 __ata_scsi_queuecmd+0x21e/0x1030 drivers/ata/libata-scsi.c:4191
 ata_scsi_queuecmd+0x3bb/0x530 drivers/ata/libata-scsi.c:4234
 scsi_dispatch_cmd drivers/scsi/scsi_lib.c:1608 [inline]
 scsi_queue_rq+0x1d7c/0x2e90 drivers/scsi/scsi_lib.c:1850
 blk_mq_dispatch_rq_list+0xb89/0x1b30 block/blk-mq.c:2032
 __blk_mq_sched_dispatch_requests+0x424/0x1840 block/blk-mq-sched.c:301
 blk_mq_sched_dispatch_requests+0xcb/0x140 block/blk-mq-sched.c:331
 blk_mq_run_hw_queue+0x9a5/0xae0 block/blk-mq.c:2245
 blk_execute_rq+0x239/0x4b0 block/blk-mq.c:1398
 sg_scsi_ioctl drivers/scsi/scsi_ioctl.c:593 [inline]
 scsi_ioctl+0x222f/0x2d80 drivers/scsi/scsi_ioctl.c:901
 sg_ioctl_common drivers/scsi/sg.c:1109 [inline]
 sg_ioctl+0x16e9/0x2e80 drivers/scsi/sg.c:1163
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:907 [inline]
 __se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f83297361a9
Code: 48 83 c4 28 c3 e8 37 17 00 00 0f 1f 80 00 00 00 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 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fffb0f41208 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fffb0f413d8 RCX: 00007f83297361a9
RDX: 0000000020000380 RSI: 0000000000000001 RDI: 0000000000000003
RBP: 00007f83297a9610 R08: 002367732f766564 R09: 00007fffb0f413d8
R10: 000000000000001f R11: 0000000000000246 R12: 0000000000000001
R13: 00007fffb0f413c8 R14: 0000000000000001 R15: 0000000000000001
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:ata_msense_control_spgt2 drivers/ata/libata-scsi.c:2276 [inline]
RIP: 0010:ata_msense_control+0x966/0x1cf0 drivers/ata/libata-scsi.c:2358
Code: b6 04 10 84 c0 0f 85 9b 0f 00 00 4c 89 e8 48 c1 e8 03 0f b6 04 10 84 c0 0f 85 b6 0f 00 00 66 c7 03 00 e4 49 89 ec 49 c1 ec 03 <41> 0f b6 04 14 84 c0 0f 85 cc 0f 00 00 0f b6 5d 00 c0 e3 04 80 e3
RSP: 0018:ffffc90002d8f068 EFLAGS: 00010046
RAX: 0000000000000000 RBX: ffffffff9a7036be RCX: 0000000000000000
RDX: dffffc0000000000 RSI: 0000000000000000 RDI: ffffffff9a7036bd
RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000003
R10: ffffffff9a7036b3 R11: fffffbfff34e06d8 R12: 0000000000000000
R13: ffffffff9a7036bf R14: 0000000000000046 R15: ffff888034faadf8
FS:  00005555605c5380(0000) GS:ffff88801fe00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000380 CR3: 000000003dd82000 CR4: 0000000000350ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	b6 04                	mov    $0x4,%dh
   2:	10 84 c0 0f 85 9b 0f 	adc    %al,0xf9b850f(%rax,%rax,8)
   9:	00 00                	add    %al,(%rax)
   b:	4c 89 e8             	mov    %r13,%rax
   e:	48 c1 e8 03          	shr    $0x3,%rax
  12:	0f b6 04 10          	movzbl (%rax,%rdx,1),%eax
  16:	84 c0                	test   %al,%al
  18:	0f 85 b6 0f 00 00    	jne    0xfd4
  1e:	66 c7 03 00 e4       	movw   $0xe400,(%rbx)
  23:	49 89 ec             	mov    %rbp,%r12
  26:	49 c1 ec 03          	shr    $0x3,%r12
* 2a:	41 0f b6 04 14       	movzbl (%r12,%rdx,1),%eax <-- trapping instruction
  2f:	84 c0                	test   %al,%al
  31:	0f 85 cc 0f 00 00    	jne    0x1003
  37:	0f b6 5d 00          	movzbl 0x0(%rbp),%ebx
  3b:	c0 e3 04             	shl    $0x4,%bl
  3e:	80                   	.byte 0x80
  3f:	e3                   	.byte 0xe3

Crashes (13):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/09/20 10:31 upstream 2004cef11ea0 6f888b75 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/20 01:26 upstream 2004cef11ea0 6f888b75 .config console log report syz / log C [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/27 07:09 upstream 075dbe9f6e3c 9314348a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/26 18:15 upstream 11a299a7933e 9314348a .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/25 07:30 upstream 68e5c7d4cefb 349a68c4 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/20 00:50 upstream 2004cef11ea0 6f888b75 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/20 00:50 upstream 2004cef11ea0 6f888b75 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/20 00:49 upstream 2004cef11ea0 6f888b75 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/20 00:49 upstream 2004cef11ea0 6f888b75 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/20 00:46 upstream 2004cef11ea0 6f888b75 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/20 00:45 upstream 2004cef11ea0 6f888b75 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/19 23:25 upstream 2004cef11ea0 6f888b75 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
2024/09/19 23:09 upstream 2004cef11ea0 6f888b75 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root general protection fault in ata_msense_control
* Struck through repros no longer work on HEAD.