[v6.1] KASAN: use-after-free Write in ext2_try_to_allocate

0 views
Skip to first unread message

syzbot

unread,
Feb 21, 2026, 4:48:30 PM (7 days ago) Feb 21
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 779f9571ac3e Linux 6.1.164
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=16518f3a580000
kernel config: https://syzkaller.appspot.com/x/.config?x=b1adc0bfde2d8a4a
dashboard link: https://syzkaller.appspot.com/bug?extid=8a47e292db85a3b20c76
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
userspace arch: arm64

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/85e761437fc4/disk-779f9571.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/0f3aa7ae77ae/vmlinux-779f9571.xz
kernel image: https://storage.googleapis.com/syzbot-assets/baba59a67bd9/Image-779f9571.gz.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+8a47e2...@syzkaller.appspotmail.com

==================================================================
BUG: KASAN: use-after-free in instrument_atomic_read_write include/linux/instrumented.h:102 [inline]
BUG: KASAN: use-after-free in test_and_set_bit include/asm-generic/bitops/instrumented-atomic.h:71 [inline]
BUG: KASAN: use-after-free in test_and_set_bit_le include/asm-generic/bitops/le.h:46 [inline]
BUG: KASAN: use-after-free in ext2_try_to_allocate+0x2ac/0x898 fs/ext2/balloc.c:707
Write of size 8 at addr ffff0000f9040000 by task syz.3.86/4860

CPU: 0 PID: 4860 Comm: syz.3.86 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/03/2025
Call trace:
dump_backtrace+0x1c0/0x1ec arch/arm64/kernel/stacktrace.c:158
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
__dump_stack+0x30/0x40 lib/dump_stack.c:88
dump_stack_lvl+0xf4/0x15c lib/dump_stack.c:106
print_address_description+0x88/0x218 mm/kasan/report.c:316
print_report+0x50/0x68 mm/kasan/report.c:420
kasan_report+0xa8/0xfc mm/kasan/report.c:524
check_region_inline mm/kasan/generic.c:-1 [inline]
kasan_check_range+0x258/0x290 mm/kasan/generic.c:189
__kasan_check_write+0x2c/0x3c mm/kasan/shadow.c:37
instrument_atomic_read_write include/linux/instrumented.h:102 [inline]
test_and_set_bit include/asm-generic/bitops/instrumented-atomic.h:71 [inline]
test_and_set_bit_le include/asm-generic/bitops/le.h:46 [inline]
ext2_try_to_allocate+0x2ac/0x898 fs/ext2/balloc.c:707
ext2_try_to_allocate_with_rsv+0x178/0x1234 fs/ext2/balloc.c:1089
ext2_new_blocks+0x61c/0x1114 fs/ext2/balloc.c:1307
ext2_alloc_blocks fs/ext2/inode.c:418 [inline]
ext2_alloc_branch fs/ext2/inode.c:487 [inline]
ext2_get_blocks+0xb30/0x1b64 fs/ext2/inode.c:730
ext2_get_block+0xc8/0x3e8 fs/ext2/inode.c:787
__block_write_begin_int+0x350/0x1388 fs/buffer.c:1991
__block_write_begin+0x7c/0xa0 fs/buffer.c:2041
ext2_prepare_chunk fs/ext2/dir.c:460 [inline]
ext2_make_empty+0xdc/0x844 fs/ext2/dir.c:640
ext2_mkdir+0x130/0x1e4 fs/ext2/namei.c:251
vfs_mkdir+0x314/0x4d4 fs/namei.c:4114
do_mkdirat+0x1b8/0x3ec fs/namei.c:4139
__do_sys_mkdirat fs/namei.c:4154 [inline]
__se_sys_mkdirat fs/namei.c:4152 [inline]
__arm64_sys_mkdirat+0x90/0xa8 fs/namei.c:4152
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2b4 arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x58/0x130 arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x128 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585

The buggy address belongs to the physical page:
page:0000000036b94066 refcount:0 mapcount:-128 mapping:0000000000000000 index:0x1 pfn:0x139040
flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000000000 fffffc0003d96808 fffffc0003875808 0000000000000000
raw: 0000000000000001 0000000000000005 00000000ffffff7f 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
ffff0000f903ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffff0000f903ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff0000f9040000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
^
ffff0000f9040080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ffff0000f9040100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================


---
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 syzk...@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 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

syzbot

unread,
Feb 21, 2026, 5:43:32 PM (7 days ago) Feb 21
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 779f9571ac3e Linux 6.1.164
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=10c8d722580000
kernel config: https://syzkaller.appspot.com/x/.config?x=b1adc0bfde2d8a4a
dashboard link: https://syzkaller.appspot.com/bug?extid=8a47e292db85a3b20c76
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11fb7c02580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=13198f3a580000
mounted in repro #1: https://storage.googleapis.com/syzbot-assets/08f39fc80ddc/mount_0.gz
fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=15198f3a580000)
mounted in repro #2: https://storage.googleapis.com/syzbot-assets/d5c440546456/mount_5.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+8a47e2...@syzkaller.appspotmail.com

loop0: detected capacity change from 0 to 512
EXT2-fs (loop0): nobh option not supported
EXT2-fs (loop0): warning: mounting ext3 filesystem as ext2
==================================================================
BUG: KASAN: use-after-free in instrument_atomic_read_write include/linux/instrumented.h:102 [inline]
BUG: KASAN: use-after-free in test_and_set_bit include/asm-generic/bitops/instrumented-atomic.h:71 [inline]
BUG: KASAN: use-after-free in test_and_set_bit_le include/asm-generic/bitops/le.h:46 [inline]
BUG: KASAN: use-after-free in ext2_try_to_allocate+0x2ac/0x898 fs/ext2/balloc.c:707
Write of size 8 at addr ffff0000ec03d000 by task syz.0.17/4471

CPU: 0 PID: 4471 Comm: syz.0.17 Not tainted syzkaller #0
page:000000000663b446 refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x12c03d
flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff)
raw: 05ffc00000000000 fffffc0003aad488 fffffc0003aadbc8 0000000000000000
raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
ffff0000ec03cf00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffff0000ec03cf80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff0000ec03d000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
^
ffff0000ec03d080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ffff0000ec03d100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================


---
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.
Reply all
Reply to author
Forward
0 new messages