[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2063847A-42D6-4A26-992F-0DD32A5E1F05@fb.com>
Date: Fri, 7 Oct 2022 06:46:49 +0000
From: Song Liu <songliubraving@...com>
To: Luis Chamberlain <mcgrof@...nel.org>
CC: Song Liu <song@...nel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"x86@...nel.org" <x86@...nel.org>,
"peterz@...radead.org" <peterz@...radead.org>,
"hch@....de" <hch@....de>, Kernel Team <Kernel-team@...com>,
"rick.p.edgecombe@...el.com" <rick.p.edgecombe@...el.com>,
"dave.hansen@...el.com" <dave.hansen@...el.com>
Subject: Re: [RFC 3/5] modules, x86: use vmalloc_exec for module core
> On Oct 6, 2022, at 4:38 PM, Luis Chamberlain <mcgrof@...nel.org> wrote:
>
> On Thu, Aug 18, 2022 at 03:42:16PM -0700, Song Liu wrote:
>> diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
>> index 100446ffdc1d..570af623e28f 100644
>> --- a/arch/x86/kernel/module.c
>> +++ b/arch/x86/kernel/module.c
>> @@ -229,6 +229,7 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
>> bool early = me->state == MODULE_STATE_UNFORMED;
>> void *(*write)(void *, const void *, size_t) = memcpy;
>>
>> + early = false;
>> if (!early) {
>> write = text_poke;
>> mutex_lock(&text_mutex);
>
> As per 88fc078a7a8f6 ("x86/module: Use text_poke() for late
> relocations") I'm curious why we have to take the live patching
> path now all the time?
Since vmalloc_exec returns read-only memory, we need text_poke()
for any operation to it.
Does this answer your question?
Song
Powered by blists - more mailing lists