From: syzbot <syzbot+fb32afec111a7d61b939@syzkaller.appspotmail.com>
To: kartikey406@gmail.com, linux-kernel@vger.kernel.org,
syzkaller-bugs@googlegroups.com
Subject: Re: [syzbot] [ext4?] KASAN: use-after-free Read in xattr_find_entry (2)
Date: Thu, 26 Mar 2026 09:59:01 -0700 [thread overview]
Message-ID: <69c565d5.050a0220.330c49.0007.GAE@google.com> (raw)
In-Reply-To: <20260326145044.29484-1-kartikey406@gmail.com>
Hello,
syzbot has tested the proposed patch but the reproducer is still triggering an issue:
KASAN: use-after-free Read in xattr_find_entry
loop0: detected capacity change from 1024 to 64
==================================================================
BUG: KASAN: use-after-free in xattr_find_entry+0x1a5/0x280 fs/ext4/xattr.c:334
Read of size 4 at addr ffff88806233f004 by task syz.0.17/6393
CPU: 1 UID: 49663 PID: 6393 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026
Call Trace:
<TASK>
dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
print_address_description mm/kasan/report.c:378 [inline]
print_report+0xba/0x230 mm/kasan/report.c:482
kasan_report+0x117/0x150 mm/kasan/report.c:595
xattr_find_entry+0x1a5/0x280 fs/ext4/xattr.c:334
ext4_xattr_ibody_get+0x232/0x4c0 fs/ext4/xattr.c:655
ext4_xattr_get+0x123/0x6a0 fs/ext4/xattr.c:709
ext4_get_acl+0x84/0x930 fs/ext4/acl.c:165
__get_acl+0x27e/0x410 fs/posix_acl.c:159
check_acl+0x3a/0x150 fs/namei.c:385
acl_permission_check fs/namei.c:471 [inline]
generic_permission+0x497/0x690 fs/namei.c:524
do_inode_permission fs/namei.c:585 [inline]
inode_permission+0x243/0x5f0 fs/namei.c:648
lookup_inode_permission_may_exec fs/namei.c:-1 [inline]
may_lookup fs/namei.c:1973 [inline]
link_path_walk+0x1149/0x18d0 fs/namei.c:2595
path_lookupat+0xe4/0x8c0 fs/namei.c:2803
filename_lookup+0x256/0x5d0 fs/namei.c:2833
user_path_at+0x40/0x160 fs/namei.c:3612
do_mount fs/namespace.c:4169 [inline]
__do_sys_mount fs/namespace.c:4361 [inline]
__se_sys_mount+0x2dc/0x420 fs/namespace.c:4338
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x14d/0xf80 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f14f759c629
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f14f845c028 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f14f7815fa0 RCX: 00007f14f759c629
RDX: 0000000000000000 RSI: 0000200000000040 RDI: 0000000000000000
RBP: 00007f14f7632b39 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000002094080 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f14f7816038 R14: 00007f14f7815fa0 R15: 00007ffd4455cb58
</TASK>
The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x3c9 pfn:0x6233f
flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000000000 ffffea000188d008 ffffea0001cecd88 0000000000000000
raw: 00000000000003c9 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as freed
page last allocated via order 0, migratetype Movable, gfp_mask 0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), pid 6183, tgid 6183 (syz-executor), ts 130974047320, free_ts 131341169720
set_page_owner include/linux/page_owner.h:32 [inline]
post_alloc_hook+0x231/0x280 mm/page_alloc.c:1889
prep_new_page mm/page_alloc.c:1897 [inline]
get_page_from_freelist+0x24dc/0x2580 mm/page_alloc.c:3962
__alloc_frozen_pages_noprof+0x18d/0x380 mm/page_alloc.c:5250
alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2484
folio_alloc_mpol_noprof mm/mempolicy.c:2503 [inline]
vma_alloc_folio_noprof+0xea/0x210 mm/mempolicy.c:2538
folio_prealloc mm/memory.c:-1 [inline]
do_cow_fault mm/memory.c:5823 [inline]
do_fault mm/memory.c:5935 [inline]
do_pte_missing+0x4ea/0x3490 mm/memory.c:4477
handle_pte_fault mm/memory.c:6317 [inline]
__handle_mm_fault mm/memory.c:6455 [inline]
handle_mm_fault+0x1bec/0x3310 mm/memory.c:6624
do_user_addr_fault+0xa73/0x1340 arch/x86/mm/fault.c:1334
handle_page_fault arch/x86/mm/fault.c:1474 [inline]
exc_page_fault+0x6a/0xc0 arch/x86/mm/fault.c:1527
asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:618
page last free pid 6184 tgid 6184 stack trace:
reset_page_owner include/linux/page_owner.h:25 [inline]
__free_pages_prepare mm/page_alloc.c:1433 [inline]
free_unref_folios+0xed5/0x16d0 mm/page_alloc.c:3040
folios_put_refs+0x789/0x8d0 mm/swap.c:1002
free_pages_and_swap_cache+0x2e7/0x5b0 mm/swap_state.c:423
__tlb_batch_free_encoded_pages mm/mmu_gather.c:138 [inline]
tlb_batch_pages_flush mm/mmu_gather.c:151 [inline]
tlb_flush_mmu_free mm/mmu_gather.c:398 [inline]
tlb_flush_mmu+0x6d3/0xa30 mm/mmu_gather.c:405
tlb_finish_mmu+0xf9/0x230 mm/mmu_gather.c:530
exit_mmap+0x498/0xa10 mm/mmap.c:1315
__mmput+0x118/0x430 kernel/fork.c:1175
exit_mm+0x168/0x220 kernel/exit.c:581
do_exit+0x6a2/0x23c0 kernel/exit.c:964
do_group_exit+0x21b/0x2d0 kernel/exit.c:1118
get_signal+0x1284/0x1330 kernel/signal.c:3034
arch_do_signal_or_restart+0xbc/0x830 arch/x86/kernel/signal.c:337
__exit_to_user_mode_loop kernel/entry/common.c:64 [inline]
exit_to_user_mode_loop+0x86/0x480 kernel/entry/common.c:98
__exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline]
syscall_exit_to_user_mode include/linux/entry-common.h:325 [inline]
do_syscall_64+0x32d/0xf80 arch/x86/entry/syscall_64.c:100
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Memory state around the buggy address:
ffff88806233ef00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffff88806233ef80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff88806233f000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
^
ffff88806233f080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ffff88806233f100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==================================================================
Tested on:
commit: 0138af24 Merge tag 'erofs-for-7.0-rc6-fixes' of git://..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=13bad06a580000
kernel config: https://syzkaller.appspot.com/x/.config?x=b643133b3e44c9fd
dashboard link: https://syzkaller.appspot.com/bug?extid=fb32afec111a7d61b939
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
patch: https://syzkaller.appspot.com/x/patch.diff?x=16da8eda580000
next parent reply other threads:[~2026-03-26 16:59 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260326145044.29484-1-kartikey406@gmail.com>
2026-03-26 16:59 ` syzbot [this message]
[not found] <20260331010427.388123-1-kartikey406@gmail.com>
2026-03-31 4:38 ` [syzbot] [ext4?] KASAN: use-after-free Read in xattr_find_entry (2) syzbot
[not found] <20260330014309.369720-1-kartikey406@gmail.com>
2026-03-30 2:41 ` syzbot
[not found] <20260327132753.332837-1-kartikey406@gmail.com>
2026-03-27 14:05 ` syzbot
[not found] <20260224085214.19679-1-kartikey406@gmail.com>
2026-02-24 10:05 ` syzbot
[not found] <20260224083610.17722-1-kartikey406@gmail.com>
2026-02-24 9:41 ` syzbot
2026-02-23 0:12 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=69c565d5.050a0220.330c49.0007.GAE@google.com \
--to=syzbot+fb32afec111a7d61b939@syzkaller.appspotmail.com \
--cc=kartikey406@gmail.com \
--cc=linux-kernel@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.