* [syzbot] [usb?] general protection fault in adsl_state_store
@ 2026-08-16 15:50 syzbot
2026-09-08 6:33 ` Forwarded: " syzbot
0 siblings, 1 reply; 2+ messages in thread
From: syzbot @ 2026-08-16 15:50 UTC (permalink / raw)
To: linux-kernel, linux-usb, syzkaller-bugs
Hello,
syzbot found the following issue on:
HEAD commit: 3eb40771c00a Merge tag 'soc-fixes-7.2-3' of git://git.kern..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=12fc9949580000
kernel config: https://syzkaller.appspot.com/x/.config?x=1d67342c314f228d
dashboard link: https://syzkaller.appspot.com/bug?extid=9b195c4f412ea5c4e56a
compiler: gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17334679580000
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+9b195c4f412ea5c4e56a@syzkaller.appspotmail.com
cxacru_cm: 3 callbacks suppressed
cxacru 5-1:1.0: send of cm 0x85 failed (-104)
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
CPU: 0 UID: 0 PID: 6032 Comm: syz-executor219 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
RIP: 0010:adsl_state_store.cold+0x5d/0x15d drivers/usb/atm/cxacru.c:359
Code: 48 89 fa 48 c1 ea 03 80 3c 02 00 74 05 e8 a3 89 27 01 48 8b 6d 78 b8 ff ff 37 00 48 c1 e0 2a 48 8d 7d 10 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e d5 00 00 00 8b 75 10 89 da 48
RSP: 0018:ffffc900038e7bb0 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 00000000ffffff98 RCX: ffffffff87c43ce9
RDX: 0000000000000002 RSI: ffffffff8153789d RDI: 0000000000000010
RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000
R10: 00000000ffffff98 R11: ffffffff81d6107c R12: ffffc900038e7be8
R13: 0000000000000004 R14: ffff8880478ad800 R15: 1ffff9200071cf79
FS: 000055558821b400(0000) GS:ffff8880d5bde000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000560168e483b8 CR3: 00000000361a1000 CR4: 0000000000352ef0
Call Trace:
<TASK>
dev_attr_store+0x58/0x80 drivers/base/core.c:2505
sysfs_kf_write+0xf2/0x150 fs/sysfs/file.c:145
kernfs_fop_write_iter+0x3e0/0x5f0 fs/kernfs/file.c:345
new_sync_write fs/read_write.c:595 [inline]
vfs_write+0x6ac/0x1050 fs/read_write.c:687
ksys_write+0x12a/0x250 fs/read_write.c:739
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x115/0x870 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7ff46eca73de
Code: 08 0f 85 f5 e2 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 90 41 57 41 56 4d 89 c6 41 55 4d 89 cd 41 54 55 53 48 83 ec 08
RSP: 002b:00007fffbb5e0ef8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 000055558821b400 RCX: 00007ff46eca73de
RDX: 0000000000000004 RSI: 00007ff46ecf2074 RDI: 0000000000000005
RBP: 000055558821d890 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ff46ecf4540
R13: 0000000000000000 R14: 0000000000000005 R15: 00007ff46ecf4590
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:adsl_state_store.cold+0x5d/0x15d drivers/usb/atm/cxacru.c:359
Code: 48 89 fa 48 c1 ea 03 80 3c 02 00 74 05 e8 a3 89 27 01 48 8b 6d 78 b8 ff ff 37 00 48 c1 e0 2a 48 8d 7d 10 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e d5 00 00 00 8b 75 10 89 da 48
RSP: 0018:ffffc900038e7bb0 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 00000000ffffff98 RCX: ffffffff87c43ce9
RDX: 0000000000000002 RSI: ffffffff8153789d RDI: 0000000000000010
RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000
R10: 00000000ffffff98 R11: ffffffff81d6107c R12: ffffc900038e7be8
R13: 0000000000000004 R14: ffff8880478ad800 R15: 1ffff9200071cf79
FS: 000055558821b400(0000) GS:ffff8880d5cde000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb3d476b0f5 CR3: 00000000361a1000 CR4: 0000000000352ef0
----------------
Code disassembly (best guess):
0: 48 89 fa mov %rdi,%rdx
3: 48 c1 ea 03 shr $0x3,%rdx
7: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1)
b: 74 05 je 0x12
d: e8 a3 89 27 01 call 0x12789b5
12: 48 8b 6d 78 mov 0x78(%rbp),%rbp
16: b8 ff ff 37 00 mov $0x37ffff,%eax
1b: 48 c1 e0 2a shl $0x2a,%rax
1f: 48 8d 7d 10 lea 0x10(%rbp),%rdi
23: 48 89 fa mov %rdi,%rdx
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 03 cmp $0x3,%al
34: 0f 8e d5 00 00 00 jle 0x10f
3a: 8b 75 10 mov 0x10(%rbp),%esi
3d: 89 da mov %ebx,%edx
3f: 48 rex.W
---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
^ permalink raw reply [flat|nested] 2+ messages in thread
* Forwarded: Re: [syzbot] [usb?] general protection fault in adsl_state_store
2026-08-16 15:50 [syzbot] [usb?] general protection fault in adsl_state_store syzbot
@ 2026-09-08 6:33 ` syzbot
0 siblings, 0 replies; 2+ messages in thread
From: syzbot @ 2026-09-08 6:33 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: Re: [syzbot] [usb?] general protection fault in adsl_state_store
Author: jie.wang@intel.com
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c
index 75d87c31e81f4..4322553f2902c 100644
--- a/drivers/usb/atm/cxacru.c
+++ b/drivers/usb/atm/cxacru.c
@@ -356,7 +356,7 @@ static ssize_t adsl_state_store(struct device *dev,
if (!strcmp(str_cmd, "stop") || !strcmp(str_cmd, "restart")) {
ret = cxacru_cm(instance, CM_REQUEST_CHIP_ADSL_LINE_STOP, NULL, 0, NULL, 0);
if (ret < 0) {
- atm_err(instance->usbatm, "change adsl state:"
+ usb_err(instance->usbatm, "change adsl state:"
" CHIP_ADSL_LINE_STOP returned %d\n", ret);
ret = -EIO;
@@ -376,7 +376,7 @@ static ssize_t adsl_state_store(struct device *dev,
if (!strcmp(str_cmd, "start") || !strcmp(str_cmd, "restart")) {
ret = cxacru_cm(instance, CM_REQUEST_CHIP_ADSL_LINE_START, NULL, 0, NULL, 0);
if (ret < 0) {
- atm_err(instance->usbatm, "change adsl state:"
+ usb_err(instance->usbatm, "change adsl state:"
" CHIP_ADSL_LINE_START returned %d\n", ret);
ret = -EIO;
@@ -481,7 +481,7 @@ static ssize_t adsl_config_store(struct device *dev,
ret = cxacru_cm(instance, CM_REQUEST_CARD_DATA_SET,
(u8 *) data, 4 + num * 8, NULL, 0);
if (ret < 0) {
- atm_err(instance->usbatm,
+ usb_err(instance->usbatm,
"set card data returned %d\n", ret);
return -EIO;
}
@@ -490,7 +490,7 @@ static ssize_t adsl_config_store(struct device *dev,
snprintf(log + tmp*12, 13, " %02x=%08x",
le32_to_cpu(data[tmp * 2 + 1]),
le32_to_cpu(data[tmp * 2 + 2]));
- atm_info(instance->usbatm, "config%s\n", log);
+ usb_info(instance->usbatm, "config%s\n", log);
num = 0;
}
}
@@ -827,6 +827,12 @@ static void cxacru_poll_status(struct work_struct *work)
int keep_polling = 1;
int ret;
+ /* adsl_state_store() calls this directly, before the heavy-init thread
+ * has set up atm_dev; bail out rather than dereference NULL below.
+ */
+ if (!atm_dev)
+ return;
+
ret = cxacru_cm_get_array(instance, CM_REQUEST_CARD_INFO_GET, buf, CXINF_MAX);
if (ret < 0) {
if (ret != -ESHUTDOWN)
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-08 6:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-16 15:50 [syzbot] [usb?] general protection fault in adsl_state_store syzbot
2026-09-08 6:33 ` Forwarded: " syzbot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®