[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9357a0fc-2c65-4956-b00b-0ea4eda2fb47@os.amperecomputing.com>
Date: Tue, 16 Sep 2025 16:44:08 -0700
From: Yang Shi <yang@...amperecomputing.com>
To: Ryan Roberts <ryan.roberts@....com>, Dev Jain <dev.jain@....com>,
Catalin Marinas <catalin.marinas@....com>, Will Deacon <will@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
David Hildenbrand <david@...hat.com>,
Lorenzo Stoakes <lorenzo.stoakes@...cle.com>,
Ard Biesheuvel <ardb@...nel.org>, scott@...amperecomputing.com, cl@...two.org
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: [PATCH v7 0/6] arm64: support FEAT_BBM level 2 and large block
mapping when rodata=full
>
>
> 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
>>>>>>
>>>>>>
>
Powered by blists - more mailing lists