From: Qasim Ijaz <qasdev00@gmail.com>
To: johannes@sipsolutions.net, linux-kernel@vger.kernel.org,
linux-wireless@vger.kernel.org, netdev@vger.kernel.org,
syzkaller-bugs@googlegroups.com
Subject: Re: [syzbot] [wireless?] general protection fault in cfg80211_mlme_deauth
Date: Tue, 8 Apr 2025 15:17:28 +0100 [thread overview]
Message-ID: <Z_Uv-BhVqaK9HUdx@qasdev.system> (raw)
In-Reply-To: <67f50e3e.050a0220.396535.0561.GAE@google.com>
On Tue, Apr 08, 2025 at 04:53:34AM -0700, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 0af2f6be1b42 Linux 6.15-rc1
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=1284523f980000
> kernel config: https://syzkaller.appspot.com/x/.config?x=66996a2350ef05e0
> dashboard link: https://syzkaller.appspot.com/bug?extid=00778a9a557a2a5e1a33
> compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=13c9eb4c580000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=179bbd98580000
>
> Downloadable assets:
> disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/7feb34a89c2a/non_bootable_disk-0af2f6be.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/3fcfb8eefe4d/vmlinux-0af2f6be.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/e06a39be2bd8/bzImage-0af2f6be.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+00778a9a557a2a5e1a33@syzkaller.appspotmail.com
>
> Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN NOPTI
> KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
I done some analysis and it looks like during cfg80211_conn_work() the
wdev->conn->params.bssid is NULL, this gets passed to cfg80211_conn_do_work()
which hits the CFG80211_CONN_ASSOC_FAILED label of the switch statement where
ether_addr_equal() compares the NULL bssid via ether_addr_equal().
Regards,
Qasim
> CPU: 0 UID: 0 PID: 4854 Comm: kworker/0:3 Not tainted 6.15.0-rc1-syzkaller #0 PREEMPT(full)
> Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
> Workqueue: events cfg80211_conn_work
> RIP: 0010:ether_addr_equal include/linux/etherdevice.h:355 [inline]
> RIP: 0010:cfg80211_mlme_deauth+0x35a/0x940 net/wireless/mlme.c:514
> Code: 8d 9c 24 b0 00 00 00 48 89 d8 48 c1 e8 03 42 0f b6 04 28 84 c0 4c 8b 7c 24 28 0f 85 25 03 00 00 44 8b 23 4c 89 f8 48 c1 e8 03 <42> 0f b6 04 28 84 c0 0f 85 2b 03 00 00 45 8b 37 48 8b 44 24 20 48
> RSP: 0018:ffffc90002cdf180 EFLAGS: 00010246
> RAX: 0000000000000000 RBX: ffff888045820e40 RCX: ffff888000b5c880
> RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
> RBP: ffffc90002cdf268 R08: ffffffff8b8395d8 R09: 0000000000000003
> R10: 0000000000000009 R11: ffff888000b5c880 R12: 0000000000000000
> R13: dffffc0000000000 R14: 0000000000000003 R15: 0000000000000000
> FS: 0000000000000000(0000) GS:ffff88808c596000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007f25d8438198 CR3: 000000001f4b4000 CR4: 0000000000352ef0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
> <TASK>
> cfg80211_conn_do_work+0x369/0xed0 net/wireless/sme.c:229
> cfg80211_conn_work+0x2c2/0x530 net/wireless/sme.c:273
> process_one_work kernel/workqueue.c:3238 [inline]
> process_scheduled_works+0xac3/0x18e0 kernel/workqueue.c:3319
> worker_thread+0x870/0xd50 kernel/workqueue.c:3400
> kthread+0x7b7/0x940 kernel/kthread.c:464
> ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153
> ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
> </TASK>
> Modules linked in:
> ---[ end trace 0000000000000000 ]---
> RIP: 0010:ether_addr_equal include/linux/etherdevice.h:355 [inline]
> RIP: 0010:cfg80211_mlme_deauth+0x35a/0x940 net/wireless/mlme.c:514
> Code: 8d 9c 24 b0 00 00 00 48 89 d8 48 c1 e8 03 42 0f b6 04 28 84 c0 4c 8b 7c 24 28 0f 85 25 03 00 00 44 8b 23 4c 89 f8 48 c1 e8 03 <42> 0f b6 04 28 84 c0 0f 85 2b 03 00 00 45 8b 37 48 8b 44 24 20 48
> RSP: 0018:ffffc90002cdf180 EFLAGS: 00010246
> RAX: 0000000000000000 RBX: ffff888045820e40 RCX: ffff888000b5c880
> RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
> RBP: ffffc90002cdf268 R08: ffffffff8b8395d8 R09: 0000000000000003
> R10: 0000000000000009 R11: ffff888000b5c880 R12: 0000000000000000
> R13: dffffc0000000000 R14: 0000000000000003 R15: 0000000000000000
> FS: 0000000000000000(0000) GS:ffff88808c596000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007f25d8438198 CR3: 000000001f4b4000 CR4: 0000000000352ef0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> ----------------
> Code disassembly (best guess):
> 0: 8d 9c 24 b0 00 00 00 lea 0xb0(%rsp),%ebx
> 7: 48 89 d8 mov %rbx,%rax
> a: 48 c1 e8 03 shr $0x3,%rax
> e: 42 0f b6 04 28 movzbl (%rax,%r13,1),%eax
> 13: 84 c0 test %al,%al
> 15: 4c 8b 7c 24 28 mov 0x28(%rsp),%r15
> 1a: 0f 85 25 03 00 00 jne 0x345
> 20: 44 8b 23 mov (%rbx),%r12d
> 23: 4c 89 f8 mov %r15,%rax
> 26: 48 c1 e8 03 shr $0x3,%rax
> * 2a: 42 0f b6 04 28 movzbl (%rax,%r13,1),%eax <-- trapping instruction
> 2f: 84 c0 test %al,%al
> 31: 0f 85 2b 03 00 00 jne 0x362
> 37: 45 8b 37 mov (%r15),%r14d
> 3a: 48 8b 44 24 20 mov 0x20(%rsp),%rax
> 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
>
next prev parent reply other threads:[~2025-04-08 14:18 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-08 11:53 [syzbot] [wireless?] general protection fault in cfg80211_mlme_deauth syzbot
2025-04-08 14:17 ` Qasim Ijaz [this message]
2025-04-08 14:30 ` Edward Adam Davis
2025-04-08 14:48 ` syzbot
2025-04-09 0:34 ` Edward Adam Davis
2025-04-09 0:51 ` syzbot
2025-04-09 1:05 ` Edward Adam Davis
2025-04-09 1:22 ` syzbot
2025-04-09 1:26 ` Edward Adam Davis
2025-04-09 1:43 ` syzbot
2025-04-09 5:40 ` Edward Adam Davis
2025-04-09 6:01 ` syzbot
2025-04-09 9:20 ` Edward Adam Davis
2025-04-09 9:33 ` syzbot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z_Uv-BhVqaK9HUdx@qasdev.system \
--to=qasdev00@gmail.com \
--cc=johannes@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=syzkaller-bugs@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.