KASAN: slab-use-after-free Write in ms_read_bytes

Status: upstream: reported on 2026/09/23 00:33
Subsystems: mmc
Labels: prio:high actionable
[Documentation on labels]
Reported-by: syzbot+ccffdf05833ebdaeae70@syzkaller.appspotmail.com
First crash: 10d, last: 7h59m
▶ ▼ ✨ AI Jobs (3)
ID Workflow Result Correct Bug Created Started Finished Revision
999637e7 repro-c Reproduced: ✅ ❓ KASAN: slab-use-after-free Write in ms_read_bytes 2026/09/23 01:06 2026/09/23 01:15 2026/09/23 03:18 5207b90e
7c33f4b7 moderation Actionable: ✅ ❓ KASAN: slab-use-after-free Write in ms_read_bytes 2026/09/23 00:00 2026/09/23 00:00 2026/09/23 00:32 5207b90e
03dd2127 assessment-security DenialOfService: ✅ Exploitable: ✅ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ✅ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ ❓ KASAN: slab-use-after-free Write in ms_read_bytes 2026/09/19 00:00 2026/09/19 00:00 2026/09/19 00:33 853b104b
▶ ▼ Discussions (3)
Title Replies (including bot) Last reply
[PATCH] memstick: core: wait for request completion before freeing card 1 (1) 2026/09/24 20:41
[PATCH] memstick: core: wait for request completion before freeing card 1 (1) 2026/09/24 19:29
[syzbot] [mmc?] KASAN: slab-use-after-free Write in ms_read_bytes 0 (1) 2026/09/23 00:33
▶ ▼ Last patch testing requests (1)
Created Duration User Patch Repo Result
2026/09/23 03:18 13m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git c4e9f74da4389a6b3e505d329d99232915a6b9cd report job log log

Sample crash report:
==================================================================
BUG: KASAN: slab-use-after-free in ms_read_bytes+0x772/0xc70 drivers/memstick/host/rtsx_usb_ms.c:450
Write of size 1 at addr ffff88802526f079 by task kworker/0:4/5677

CPU: 0 UID: 0 PID: 5677 Comm: kworker/0:4 Tainted: G             L      syzkaller #0 PREEMPT(full) 
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Workqueue: events rtsx_usb_ms_handle_req
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
 ms_read_bytes+0x772/0xc70 drivers/memstick/host/rtsx_usb_ms.c:450
 rtsx_usb_ms_issue_cmd drivers/memstick/host/rtsx_usb_ms.c:477 [inline]
 rtsx_usb_ms_handle_req+0x345/0x1900 drivers/memstick/host/rtsx_usb_ms.c:531
 process_one_work kernel/workqueue.c:3396 [inline]
 process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3479
 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3560
 kthread+0x38b/0x480 kernel/kthread.c:436
 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>

Allocated by task 6600:
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
 poison_kmalloc_redzone mm/kasan/common.c:398 [inline]
 __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:415
 kasan_kmalloc include/linux/kasan.h:263 [inline]
 __kmalloc_cache_noprof+0x321/0x600 mm/slub.c:5563
 _kmalloc_noprof include/linux/slab.h:991 [inline]
 _kzalloc_noprof include/linux/slab.h:1312 [inline]
 memstick_alloc_card drivers/memstick/core/memstick.c:383 [inline]
 memstick_check+0x1a7/0x1250 drivers/memstick/core/memstick.c:452
 process_one_work kernel/workqueue.c:3396 [inline]
 process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3479
 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3560
 kthread+0x38b/0x480 kernel/kthread.c:436
 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

Freed by task 6600:
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:584
 poison_slab_object mm/kasan/common.c:253 [inline]
 __kasan_slab_free+0x5c/0x80 mm/kasan/common.c:285
 kasan_slab_free include/linux/kasan.h:235 [inline]
 slab_free_hook mm/slub.c:2748 [inline]
 slab_free mm/slub.c:6508 [inline]
 kfree+0x1c5/0x650 mm/slub.c:6801
 memstick_alloc_card drivers/memstick/core/memstick.c:420 [inline]
 memstick_check+0x7b6/0x1250 drivers/memstick/core/memstick.c:452
 process_one_work kernel/workqueue.c:3396 [inline]
 process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3479
 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3560
 kthread+0x38b/0x480 kernel/kthread.c:436
 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

The buggy address belongs to the object at ffff88802526f000
 which belongs to the cache kmalloc-2k of size 2048
The buggy address is located 121 bytes inside of
 freed 2048-byte region [ffff88802526f000, ffff88802526f800)

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x25268
head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
flags: 0xfff00000000040(head|node=0|zone=1|lastcpupid=0x7ff)
page_type: f5(slab)
raw: 00fff00000000040 ffff88801b042000 dead000000000100 dead000000000122
raw: 0000000000000000 0000000000080008 00000000f5000000 0000000000000000
head: 00fff00000000040 ffff88801b042000 dead000000000100 dead000000000122
head: 0000000000000000 0000000000080008 00000000f5000000 0000000000000000
head: 00fff00000000003 fffffffffffffe01 00000000ffffffff 00000000ffffffff
head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000008
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 3, migratetype Unmovable, gfp_mask 0xd28c0(GFP_NOWAIT|__GFP_IO|__GFP_FS|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC), pid 6597, tgid 6597 (kworker/u8:12), ts 276715298354
 set_page_owner include/linux/page_owner.h:33 [inline]
 post_alloc_hook+0x1f9/0x250 mm/page_alloc.c:1871
 prep_new_page mm/page_alloc.c:1879 [inline]
 get_page_from_freelist+0x2209/0x2280 mm/page_alloc.c:3943
 __alloc_frozen_pages_noprof+0x217/0x5a0 mm/page_alloc.c:5436
 alloc_slab_page mm/slub.c:3347 [inline]
 allocate_slab+0x7d/0x620 mm/slub.c:3462
 new_slab mm/slub.c:3513 [inline]
 refill_objects+0x2d5/0x350 mm/slub.c:7417
 refill_sheaf mm/slub.c:2885 [inline]
 __pcs_replace_empty_main+0x2c8/0x6c0 mm/slub.c:4774
 alloc_from_pcs mm/slub.c:4850 [inline]
 slab_alloc_node mm/slub.c:4984 [inline]
 __do_kmalloc_node mm/slub.c:5413 [inline]
 __kmalloc_node_track_caller_noprof+0x548/0x720 mm/slub.c:5545
 kmalloc_reserve net/core/skbuff.c:637 [inline]
 pskb_expand_head+0x22c/0x13a0 net/core/skbuff.c:2315
 netlink_trim+0x1b3/0x2c0 net/netlink/af_netlink.c:1319
 netlink_broadcast_filtered+0x6d/0xea0 net/netlink/af_netlink.c:1537
 nlmsg_multicast_filtered include/net/netlink.h:1165 [inline]
 nlmsg_multicast include/net/netlink.h:1184 [inline]
 nlmsg_notify+0xe3/0x1a0 net/netlink/af_netlink.c:2618
 register_netdevice+0x1a9a/0x1eb0 net/core/dev.c:11567
 nsim_init_netdevsim drivers/net/netdevsim/netdev.c:1072 [inline]
 nsim_create+0xbd7/0x1150 drivers/net/netdevsim/netdev.c:1154
 __nsim_dev_port_add+0x7f8/0xcd0 drivers/net/netdevsim/dev.c:1434
 nsim_dev_port_add_all+0x37/0xf0 drivers/net/netdevsim/dev.c:1495
 nsim_dev_reload_create drivers/net/netdevsim/dev.c:1547 [inline]
 nsim_dev_reload_up+0x4dd/0x880 drivers/net/netdevsim/dev.c:983
page last free pid 25 tgid 25 ts 276474433033 stack trace:
 reset_page_owner include/linux/page_owner.h:26 [inline]
 __free_pages_prepare mm/page_alloc.c:1418 [inline]
 free_pages_prepare+0x9eb/0xaf0 mm/page_alloc.c:1463
 __free_contig_range_common+0x174/0x340 mm/page_alloc.c:7072
 __free_contig_range mm/page_alloc.c:7117 [inline]
 free_pages_bulk+0x48/0x120 mm/page_alloc.c:5322
 vm_area_free_pages mm/vmalloc.c:3461 [inline]
 vfree+0x231/0x490 mm/vmalloc.c:3510
 delayed_vfree_work+0x55/0x80 mm/vmalloc.c:3414
 process_one_work kernel/workqueue.c:3396 [inline]
 process_scheduled_works+0xc3d/0x1630 kernel/workqueue.c:3479
 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3560
 kthread+0x38b/0x480 kernel/kthread.c:436
 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

Memory state around the buggy address:
 ffff88802526ef00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff88802526ef80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff88802526f000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                                                ^
 ffff88802526f080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff88802526f100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Crashes (11):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/27 12:28 upstream fd179f8a05be a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 KASAN: slab-use-after-free Write in ms_read_bytes
2026/09/24 05:37 upstream fe2ec83746e5 0a1606bc .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-386 KASAN: slab-use-after-free Write in ms_read_bytes
2026/09/26 15:26 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing d58dffe9ee2c a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb KASAN: slab-use-after-free Write in ms_read_bytes
2026/09/24 11:42 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing d58dffe9ee2c 0281b448 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb KASAN: slab-use-after-free Write in ms_read_bytes
2026/09/24 05:20 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing d58dffe9ee2c 0281b448 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb KASAN: slab-use-after-free Write in ms_read_bytes
2026/09/24 05:16 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing d58dffe9ee2c 0281b448 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb KASAN: slab-use-after-free Write in ms_read_bytes
2026/09/23 15:00 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing d58dffe9ee2c abce1216 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb KASAN: slab-use-after-free Write in ms_read_bytes
2026/09/21 15:20 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing d58dffe9ee2c 853b104b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb KASAN: slab-use-after-free Write in ms_read_bytes
2026/09/20 06:59 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing d58dffe9ee2c 853b104b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb KASAN: slab-use-after-free Write in ms_read_bytes
2026/09/19 04:18 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing d58dffe9ee2c 853b104b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb KASAN: slab-use-after-free Write in ms_read_bytes
2026/09/17 20:10 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing d58dffe9ee2c 8d7d05f1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-usb KASAN: slab-use-after-free Write in ms_read_bytes
* Struck through repros no longer work on HEAD.