KASAN: use-after-free Read in release_card_device

Status: upstream: reported on 2026/08/05 00:12
Subsystems: sound
Labels: prio:high
[Documentation on labels]
Reported-by: syzbot+7061d72c26b7daebe2b4@syzkaller.appspotmail.com
First crash: 7d03h, last: 2h11m
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
87857e6e repro-c Reproduced: ✅
KASAN: use-after-free Read in release_card_device 2026/08/06 11:00 2026/08/07 07:40 2026/08/07 08:39 c38879ea
81910ecc assessment-security DenialOfService: ✅ Exploitable: ✅ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ✅ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ KASAN: use-after-free Read in release_card_device 2026/08/02 00:33 2026/08/02 00:33 2026/08/02 01:05 e611ffe1
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [sound?] KASAN: use-after-free Read in release_card_device 0 (1) 2026/08/05 00:12
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 KASAN: use-after-free Read in release_card_device 19 1 7d10h 7d10h 0/3 upstream: reported on 2026/07/31 08:33
Last patch testing requests (1)
Created Duration User Patch Repo Result
2026/08/07 08:48 18m glider@google.com upstream error

Sample crash report:
BTRFS info (device loop2): turning on async discard
BTRFS info (device loop2): enabling free space tree
==================================================================
BUG: KASAN: use-after-free in snd_card_do_free sound/core/init.c:604 [inline]
BUG: KASAN: use-after-free in release_card_device+0x1ab/0x1b0 sound/core/init.c:153
Read of size 1 at addr ffff888031f9c909 by task syz.2.1101/11095

CPU: 0 UID: 0 PID: 11095 Comm: syz.2.1101 Tainted: G             L      syzkaller #0 PREEMPT(full) 
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/16/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
 print_address_description+0x55/0x1e0 mm/kasan/report.c:378
 print_report+0x58/0x70 mm/kasan/report.c:482
 kasan_report+0x117/0x150 mm/kasan/report.c:595
 snd_card_do_free sound/core/init.c:604 [inline]
 release_card_device+0x1ab/0x1b0 sound/core/init.c:153
 device_release+0xc4/0x1f0 drivers/base/core.c:-1
 kobject_cleanup lib/kobject.c:689 [inline]
 kobject_release lib/kobject.c:720 [inline]
 kref_put include/linux/kref.h:65 [inline]
 kobject_put+0x222/0x550 lib/kobject.c:737
 snd_card_file_remove+0x331/0x390 sound/core/init.c:1125
 snd_pcm_oss_release+0x1fe/0x250 sound/core/oss/pcm_oss.c:2596
 __fput+0x418/0xa50 fs/file_table.c:512
 task_work_run+0x1d9/0x270 kernel/task_work.c:233
 exit_task_work include/linux/task_work.h:40 [inline]
 do_exit+0x73a/0x2360 kernel/exit.c:1009
 do_group_exit+0x22d/0x2f0 kernel/exit.c:1152
 get_signal+0x121b/0x12c0 kernel/signal.c:3046
 arch_do_signal_or_restart+0xbb/0x860 arch/x86/kernel/signal.c:337
 __exit_to_user_mode_loop kernel/entry/common.c:66 [inline]
 exit_to_user_mode_loop+0x104/0x730 kernel/entry/common.c:101
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
 syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline]
 do_syscall_64+0x353/0x580 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f671199f34a
Code: Unable to access opcode bytes at 0x7f671199f320.
RSP: 002b:00007f6712911e58 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: 0000000000000000 RBX: 00007f6712911ee0 RCX: 00007f671199f34a
RDX: 00002000000000c0 RSI: 0000200000005600 RDI: 00007f6712911ea0
RBP: 00002000000000c0 R08: 00007f6712911ee0 R09: 0000000000000800
R10: 0000000000000800 R11: 0000000000000246 R12: 0000200000005600
R13: 00007f6712911ea0 R14: 000000000000559e R15: 0000200000000240
 </TASK>

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x31f9c
flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000000000 ffffea0000ccd208 ffff8880b8641140 0000000000000000
raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as freed
page last allocated via order 2, migratetype Unmovable, gfp_mask 0x40dc0(GFP_KERNEL|__GFP_ZERO|__GFP_COMP), pid 1, tgid 1 (swapper/0), ts 23579722043, free_ts 523073296387
 set_page_owner include/linux/page_owner.h:32 [inline]
 post_alloc_hook+0x1f9/0x250 mm/page_alloc.c:1859
 prep_new_page mm/page_alloc.c:1867 [inline]
 get_page_from_freelist+0x21fa/0x2270 mm/page_alloc.c:3946
 __alloc_frozen_pages_noprof+0x18d/0x380 mm/page_alloc.c:5304
 alloc_pages_mpol+0x212/0x380 mm/mempolicy.c:2490
 ___kmalloc_large_node+0x4c/0x120 mm/slub.c:5274
 __kmalloc_large_node_noprof+0x18/0x90 mm/slub.c:5305
 __do_kmalloc_node mm/slub.c:5322 [inline]
 __kmalloc_node_track_caller_noprof+0x164/0x730 mm/slub.c:5471
 alloc_dr drivers/base/devres.c:141 [inline]
 __devres_alloc_node+0x4c/0x160 drivers/base/devres.c:189
 snd_devm_card_new+0x84/0x160 sound/core/init.c:235
 loopback_probe+0x150/0x13d0 sound/drivers/aloop.c:1805
 platform_probe+0xf9/0x190 drivers/base/platform.c:1439
 call_driver_probe drivers/base/dd.c:-1 [inline]
 really_probe+0x254/0xae0 drivers/base/dd.c:706
 __driver_probe_device+0x1e8/0x360 drivers/base/dd.c:868
 driver_probe_device+0x4f/0x240 drivers/base/dd.c:898
 __device_attach_driver+0x270/0x410 drivers/base/dd.c:1026
 bus_for_each_drv+0x258/0x2f0 drivers/base/bus.c:500
page last free pid 11105 tgid 11104 stack trace:
 reset_page_owner include/linux/page_owner.h:25 [inline]
 __free_pages_prepare mm/page_alloc.c:1406 [inline]
 __free_frozen_pages+0xc1e/0xd10 mm/page_alloc.c:2950
 free_node drivers/base/devres.c:50 [inline]
 release_nodes drivers/base/devres.c:547 [inline]
 devres_release_all+0x1ce/0x260 drivers/base/devres.c:576
 device_unbind_cleanup drivers/base/dd.c:597 [inline]
 __device_release_driver drivers/base/dd.c:1354 [inline]
 device_release_driver_internal+0x5d9/0x880 drivers/base/dd.c:1372
 unbind_store+0x1a1/0x1d0 drivers/base/bus.c:244
 kernfs_fop_write_iter+0x3a4/0x540 fs/kernfs/file.c:345
 new_sync_write fs/read_write.c:595 [inline]
 vfs_write+0x612/0xba0 fs/read_write.c:687
 ksys_write+0x150/0x270 fs/read_write.c:739
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Memory state around the buggy address:
 ffff888031f9c800: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff888031f9c880: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff888031f9c900: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                      ^
 ffff888031f9c980: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff888031f9ca00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================

Crashes (14):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/07 17:17 upstream 364465ab19de e4ef95d6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root KASAN: use-after-free Read in release_card_device
2026/08/07 17:16 upstream 364465ab19de e4ef95d6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root KASAN: use-after-free Read in release_card_device
2026/08/01 06:03 upstream 0131b508c0e2 7664cf44 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root KASAN: use-after-free Read in release_card_device
2026/08/01 03:03 upstream 8ba098e6b6ff 7664cf44 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root KASAN: use-after-free Read in release_card_device
2026/08/06 16:16 upstream 0d8395707651 cc56899a .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: use-after-free Read in release_card_device
2026/08/05 13:25 upstream c21bb4193868 1eed00d1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: use-after-free Read in release_card_device
2026/08/03 21:24 upstream 075b74841bd0 bdd50915 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: use-after-free Read in release_card_device
2026/08/03 20:03 upstream 075b74841bd0 bdd50915 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root KASAN: use-after-free Read in release_card_device
2026/08/03 20:03 upstream 075b74841bd0 bdd50915 .config console log report [disk image (non-bootable)] [vmlinux] [kernel image] ci-snapshot-upstream-root KASAN: use-after-free Read in release_card_device
2026/08/02 07:47 upstream 2d2338c93da7 e611ffe1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: use-after-free Read in release_card_device
2026/08/02 06:48 upstream 2d2338c93da7 e611ffe1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream KASAN: use-after-free Read in release_card_device
2026/08/02 16:11 upstream 2d2338c93da7 e611ffe1 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: use-after-free Read in release_card_device
2026/07/31 18:57 upstream 8ba098e6b6ff db462e94 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: use-after-free Read in release_card_device
2026/07/31 16:13 upstream 8ba098e6b6ff db462e94 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: use-after-free Read in release_card_device
* Struck through repros no longer work on HEAD.