Re: [moderation/CI] Re: arch, mm: create a generic set_memory/change_page_attr core

Aleksandr Nogikh <[email protected]> Wed, 22 Jul 2026 15:18:23 +0200
Newsgroups dev.linux.lists.syzbot
Message-ID <CANp29Y5RE8TnQbwTyxLCsTXUvP93409vFEWfr8P8PR=P7mhWRw@mail.gmail.com>
#syz upstream

On Wed, Jul 22, 2026 at 3:15 PM syzbot ci
<[email protected]> wrote:
>
> syzbot ci has tested the following series
>
> [v1] arch, mm: create a generic set_memory/change_page_attr core
> https://lore.kernel.org/all/[email protected]
> * [PATCH RFC 01/18] x86/mm/pat: Don't gate cpa_lock on debug_pagealloc_enabled()
> * [PATCH RFC 02/18] x86/mm/pat: fix effective RW computation in lookup_address_in_pgd_attr()
> * [PATCH RFC 03/18] x86/mm/pat: replace x86-speficic pg_level with generic pgtable_level
> * [PATCH RFC 04/18] x86/mm/pat: use page table accessors for effective RW/NX bits
> * [PATCH RFC 05/18] x86/mm/pat: use a generic helper for the large page size
> * [PATCH RFC 06/18] x86/mm/pat: introduce an inline helper to check if alias needs update
> * [PATCH RFC 07/18] x86/mm/pat: introduce cpa_handle_large_page()
> * [PATCH RFC 08/18] x86/mm/pat: use cpa_split_data structure to pass split parameters
> * [PATCH RFC 09/18] x86/mm/pat: use a single locked lookup for PTE verification
> * [PATCH RFC 10/18] x86/mm/pat: move the large page size calculation to should_split_large_page
> * [PATCH RFC 11/18] x86/mm/pat, mm: set_memory: pull change_page_attr() core to mm/
> * [PATCH RFC 12/18] x86/pat/mm, mm/set_memory: abstract the CPA page table lock
> * [PATCH RFC 13/18] mm/set_memory: read page table entries with pXdp_get()
> * [PATCH RFC 14/18] x86/mm/pat, mm: move cpa-test to mm
> * [PATCH RFC 15/18] riscv: convert set_memory to the generic CPA implementation
> * [PATCH RFC 16/18] riscv: make set_direct_map_*_noflush actually noflush
> * [PATCH RFC 17/18] loongarch: convert set_memory to the generic CPA implementation
> * [PATCH RFC 18/18] loongarch: make set_direct_map_*_noflush actually noflush
>
> and found the following issue:
> WARNING in arch_should_split_large_page
>
> Full report is available here:
> https://ci.syzbot.org/series/08799ddb-4fca-4e5c-a2a7-a16eb2845851
>
> ***
>
> WARNING in arch_should_split_large_page
>
> tree:      bpf-next
> URL:       https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git
> base:      dc59e4fea9d83f03bad6bddf3fa2e52491777482
> arch:      amd64
> compiler:  Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8
> config:    https://ci.syzbot.org/builds/9a435490-f68f-4ca0-96ae-457a5caa17e6/config
>
> Demotion targets for Node 1: null
> debug_vm_pgtable: [debug_vm_pgtable         ]: Validating architecture page table helpers
> Key type .fscrypt registered
> Key type fscrypt-provisioning registered
> kAFS: Red Hat AFS client v0.1 registering.
> Btrfs loaded, assert=on, zoned=yes, fsverity=yes
> Key type big_key registered
> Key type encrypted registered
> AppArmor: AppArmor sha256 policy hashing enabled
> ima: No TPM chip found, activating TPM-bypass!
> Loading compiled-in module X.509 certificates
> Loaded X.509 cert 'Build time autogenerated kernel key: dc5bfa299b381f3c121e230b24acaec0874c302b'
> ima: Allocated hash algorithm: sha256
> ima: No architecture policies found
> evm: Initialising EVM extended attributes:
> evm: security.selinux (disabled)
> evm: security.SMACK64 (disabled)
> evm: security.SMACK64EXEC (disabled)
> evm: security.SMACK64TRANSMUTE (disabled)
> evm: security.SMACK64MMAP (disabled)
> evm: security.apparmor
> evm: security.ima
> evm: security.capability
> evm: HMAC attrs: 0x1
> PM:   Magic number: 2:551:79
> netconsole: network logging started
> gtp: GTP module loaded (pdp ctx size 128 bytes)
> rdma_rxe: loaded
> cfg80211: Loading compiled-in X.509 certificates for regulatory database
> Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
> Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
> clk: Disabling unused clocks
> ALSA device list:
>   #0: Dummy 1
>   #1: Loopback 1
>   #2: Virtual MIDI Card 1
> md: Waiting for all devices to be available before autodetect
> md: If you don't use raid, use raid=noautodetect
> md: Autodetecting RAID arrays.
> md: autorun ...
> md: ... autorun DONE.
> EXT4-fs (sda1): mounted filesystem b4773fba-1738-4da0-8a90-0fe043d0a496 ro with ordered data mode. Quota mode: none.
> VFS: Mounted root (ext4 filesystem) readonly on device 8:1.
> devtmpfs: mounted
> VFS: Pivoted into new rootfs
> Freeing unused kernel image (initmem) memory: 26964K
> Write protecting the kernel read-only data: 221184k
> Testing CPA: undo ffffffff81000000-ffffffff8e800000
> ------------[ cut here ]------------
> CPA detected W^X violation: 00000000000001a1 -> 00000000000001a3 range: 0xffffffff81000000 - 0xffffffff811fffff PFN 1000
> WARNING: arch/x86/mm/pat/set_memory.c:601 at arch_should_split_large_page+0x493/0x710, CPU#0: swapper/0/1
> Modules linked in:
> CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted syzkaller #0 PREEMPT(full)
> Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> RIP: 0010:arch_should_split_large_page+0x49e/0x710
> Code: 00 48 8b 44 24 20 48 25 00 f0 ff ff 48 8b 4c 24 08 4c 8d 04 08 49 ff c8 48 8d 3d 4d 66 e1 0e 4c 89 ee 48 89 ea 4c 8b 4c 24 18 <67> 48 0f b9 3a eb 05 e8 46 37 4d 00 4c 89 f7 48 89 ee e8 9b 39 4d
> RSP: 0000:ffffc900000679f0 EFLAGS: 00010296
> RAX: 0000000000200000 RBX: 0000000000000123 RCX: ffffffff81000000
> RDX: 00000000000001a3 RSI: 00000000000001a1 RDI: ffffffff905a8280
> RBP: 00000000000001a3 R08: ffffffff811fffff R09: 0000000000001000
> R10: 0000000000000003 R11: 0000000000000000 R12: 0000000000000002
> R13: 00000000000001a1 R14: 00000000000001a3 R15: 0000000000000002
> FS:  0000000000000000(0000) GS:ffff88818d95a000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: ffff88823ffff000 CR3: 000000000e946000 CR4: 00000000000006f0
> Call Trace:
>  <TASK>
>  __change_page_attr_set_clr+0x936/0x12d0
>  change_page_attr_set_clr+0x3ac/0x450
>  set_memory_rw+0x8c/0xd0
>  mark_rodata_ro+0xf0/0x140
>  kernel_init+0x4e/0x1d0
>  ret_from_fork+0x514/0xb70
>  ret_from_fork_asm+0x1a/0x30
>  </TASK>
>
>
> ***
>
> If these findings have caused you to resend the series or submit a
> separate fix, please add the following tag to your commit message:
>   Tested-by: [email protected]
>
> ---
> This report is generated by a bot. It may contain errors.
> syzbot ci engineers can be reached at [email protected].
>
> To test a patch for this bug, please reply with `#syz test`
> (should be on a separate line).
>
> The patch should be attached to the email.
> Note: arguments like custom git repos and branches are not supported.
>
> The email will later be sent to:
> [[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]]
>
> If the report looks fine to you, reply with:
> #syz upstream
>
> If the report is a false positive, reply with
> #syz invalid
>
> --
> You received this message because you are subscribed to the Google Groups "syzkaller-upstream-moderation" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To view this discussion visit https://groups.google.com/d/msgid/syzkaller-upstream-moderation/6a60c27b.33ea6125.251e5.0009.GAE%40google.com.