Re: [PATCH v7 0/6] arm64: support FEAT_BBM level 2 and large block mapping when rodata=full

From: Yang Shi
Date: Tue Sep 16 2025 - 19:48:36 EST




3. kprobe. S390's alloc_insn_page() does call set_memory_rox(), x86 also called set_memory_rox() before switching to execmem cache. The execmem cache calls set_memory_rox(). I don't know why ARM64 doesn't call it.

When I'm trying to find out the proper fix tag for this, I happened to figure out why ARM64 doesn't call it. ARM64 actually called set_memory_ro() before commit 10d5e97c1bf8 ("arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page"). But this commit removed it. It seems like the author and reviewers overlooked set_memory_ro() also changes direct map permission. So I believe adding set_memory_rox() is the right fix.

Thanks,
Yang


So I think we just need to fix #1 and #3 per the above analysis. If this analysis look correct to you guys, I will prepare two patches to fix them.

Thanks,
Yang



Thanks,
Ryan

Thanks,
Yang

Thanks,
Yang

Thanks,
Ryan