All of lore.kernel.org
 help / color / mirror / Atom feed
From: syzbot <syzbot+fd95a72470f5a44e464c@syzkaller.appspotmail.com>
To: akpm@linux-foundation.org, david@kernel.org, liam@infradead.org,
	 linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	ljs@kernel.org,  mhocko@suse.com, rppt@kernel.org,
	surenb@google.com,  syzkaller-bugs@googlegroups.com,
	vbabka@kernel.org
Subject: [syzbot] [mm?] KASAN: use-after-free Read in ptdump_pte_entry (2)
Date: Tue, 09 Jun 2026 13:37:28 -0700	[thread overview]
Message-ID: <6a287988.39669fcc.33b062.00a0.GAE@google.com> (raw)

Hello,

syzbot found the following issue on:

HEAD commit:    ba3e43a9e601 Merge tag 'soc-fixes-7.1-2' of git://git.kern..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=106d9e0e580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=4e4d2284f2ffa41
dashboard link: https://syzkaller.appspot.com/bug?extid=fd95a72470f5a44e464c
compiler:       gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/2b5eb2255685/disk-ba3e43a9.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/4a9a553d87d9/vmlinux-ba3e43a9.xz
kernel image: https://storage.googleapis.com/syzbot-assets/07d7b83d93f7/bzImage-ba3e43a9.xz

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

==================================================================
BUG: KASAN: use-after-free in ptep_get include/linux/pgtable.h:461 [inline]
BUG: KASAN: use-after-free in ptdump_pte_entry+0xec/0x100 mm/ptdump.c:124
Read of size 8 at addr ffff88806640f530 by task syz.1.2229/17788

CPU: 0 UID: 0 PID: 17788 Comm: syz.1.2229 Tainted: G     U       L      syzkaller #0 PREEMPT(full) 
Tainted: [U]=USER, [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:378 [inline]
 print_report+0x13d/0x4b0 mm/kasan/report.c:482
 kasan_report+0xdf/0x1d0 mm/kasan/report.c:595
 ptep_get include/linux/pgtable.h:461 [inline]
 ptdump_pte_entry+0xec/0x100 mm/ptdump.c:124
 walk_pte_range_inner+0x258/0x370 mm/pagewalk.c:49
 walk_pte_range mm/pagewalk.c:80 [inline]
 walk_pmd_range mm/pagewalk.c:173 [inline]
 walk_pud_range mm/pagewalk.c:239 [inline]
 walk_p4d_range mm/pagewalk.c:280 [inline]
 walk_pgd_range+0xee1/0x1dd0 mm/pagewalk.c:321
 walk_kernel_page_table_range_lockless mm/pagewalk.c:664 [inline]
 walk_kernel_page_table_range mm/pagewalk.c:638 [inline]
 walk_page_range_debug+0x2fd/0x370 mm/pagewalk.c:696
 ptdump_walk_pgd+0x129/0x330 mm/ptdump.c:182
 ptdump_walk_pgd_level_core+0x26c/0x300 arch/x86/mm/dump_pagetables.c:458
 ptdump_show+0x1e/0x30 arch/x86/mm/debug_pagetables.c:10
 seq_read_iter+0x32f/0x1270 fs/seq_file.c:231
 seq_read+0x33b/0x4c0 fs/seq_file.c:163
 full_proxy_read+0x135/0x1a0 fs/debugfs/file.c:378
 vfs_read+0x1e4/0xb30 fs/read_write.c:572
 ksys_read+0x12a/0x250 fs/read_write.c:717
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x115/0x840 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f9f8859ce59
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:00007f9f89458028 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
RAX: ffffffffffffffda RBX: 00007f9f88815fa0 RCX: 00007f9f8859ce59
RDX: 000000000000001c RSI: 0000200000004c40 RDI: 0000000000000003
RBP: 00007f9f88632d6f R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f9f88816038 R14: 00007f9f88815fa0 R15: 00007fff37ecdda8
 </TASK>

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x6640f
flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000000000 ffffea00019900c8 ffffea00019902c8 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 0, migratetype Unmovable, gfp_mask 0x40dc0(GFP_KERNEL|__GFP_ZERO|__GFP_COMP), pid 5628, tgid 5628 (syz-executor), ts 76048833593, free_ts 678067566484
 set_page_owner include/linux/page_owner.h:32 [inline]
 post_alloc_hook+0xfd/0x120 mm/page_alloc.c:1853
 prep_new_page mm/page_alloc.c:1861 [inline]
 get_page_from_freelist+0x11a6/0x3410 mm/page_alloc.c:3941
 __alloc_frozen_pages_noprof+0x27c/0x2bc0 mm/page_alloc.c:5221
 alloc_pages_mpol+0x1fb/0x540 mm/mempolicy.c:2490
 alloc_pages_noprof+0x1a/0x160 mm/mempolicy.c:2581
 pagetable_alloc_noprof include/linux/mm.h:3651 [inline]
 __pte_alloc_one_kernel_noprof include/asm-generic/pgalloc.h:21 [inline]
 pte_alloc_one_kernel_noprof include/asm-generic/pgalloc.h:45 [inline]
 __pte_alloc_kernel+0x22/0x5c0 mm/memory.c:465
 vmap_pages_pte_range mm/vmalloc.c:537 [inline]
 vmap_pages_pmd_range mm/vmalloc.c:581 [inline]
 vmap_pages_pud_range mm/vmalloc.c:599 [inline]
 vmap_pages_p4d_range mm/vmalloc.c:617 [inline]
 vmap_small_pages_range_noflush+0x9d8/0xd50 mm/vmalloc.c:639
 __vmap_pages_range_noflush+0x601/0x660 mm/vmalloc.c:668
 vmap_pages_range_noflush mm/vmalloc.c:694 [inline]
 __vmap_pages_range mm/vmalloc.c:703 [inline]
 __vmalloc_area_node mm/vmalloc.c:3910 [inline]
 __vmalloc_node_range_noprof+0x9ed/0x1630 mm/vmalloc.c:4064
 vmalloc_user_noprof+0x9e/0xe0 mm/vmalloc.c:4218
 kcov_ioctl+0x4c/0x720 kernel/kcov.c:726
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:597 [inline]
 __se_sys_ioctl fs/ioctl.c:583 [inline]
 __x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:583
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x115/0x840 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
page last free pid 809 tgid 809 stack trace:
 reset_page_owner include/linux/page_owner.h:25 [inline]
 __free_pages_prepare mm/page_alloc.c:1397 [inline]
 __free_frozen_pages+0x794/0x10a0 mm/page_alloc.c:2938
 __pagetable_free include/linux/mm.h:3661 [inline]
 kernel_pgtable_work_func+0x21a/0x2f0 mm/pgtable-generic.c:438
 process_one_work+0xa0e/0x1980 kernel/workqueue.c:3314
 process_scheduled_works kernel/workqueue.c:3397 [inline]
 worker_thread+0x5ef/0xe50 kernel/workqueue.c:3478
 kthread+0x370/0x450 kernel/kthread.c:436
 ret_from_fork+0x72b/0xd50 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:
 ffff88806640f400: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88806640f480: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff88806640f500: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                                     ^
 ffff88806640f580: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff88806640f600: 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 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 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


                 reply	other threads:[~2026-06-09 20:37 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=6a287988.39669fcc.33b062.00a0.GAE@google.com \
    --to=syzbot+fd95a72470f5a44e464c@syzkaller.appspotmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@kernel.org \
    --cc=liam@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ljs@kernel.org \
    --cc=mhocko@suse.com \
    --cc=rppt@kernel.org \
    --cc=surenb@google.com \
    --cc=syzkaller-bugs@googlegroups.com \
    --cc=vbabka@kernel.org \
    /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.