Re: [PATCH] module: release codetag section when module load fails
From: David Wang
Date: Mon May 19 2025 - 12:30:45 EST
At 2025-05-20 00:03:16, "Suren Baghdasaryan" <surenb@xxxxxxxxxx> wrote:
>On Sun, May 18, 2025 at 3:12 AM David Wang <00107082@xxxxxxx> wrote:
>>
>> When module load failed after memory for codetag sections ready,
>
>nit: s/ready/is ready
>
>> codetag section memory was not properly released. This
>> causes memory leak, and if next module load happens to got the
>
>nit: s/happens to got/happens to get
>
Thanks, I will send new version.
>
>> same module address, codetag may pick the uninitialized section
>> when manipulating tags during module unload, and lead to
>> "unable to handle page fault" BUG.
>>
>> Closes: https://lore.kernel.org/all/20250516131246.6244-1-00107082@xxxxxxx/
>> Signed-off-by: David Wang <00107082@xxxxxxx>
>
>Acked-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
>
>> ---
>> kernel/module/main.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/kernel/module/main.c b/kernel/module/main.c
>> index a2859dc3eea6..5c6ab20240a6 100644
>> --- a/kernel/module/main.c
>> +++ b/kernel/module/main.c
>> @@ -2829,6 +2829,7 @@ static void module_deallocate(struct module *mod, struct load_info *info)
>> {
>> percpu_modfree(mod);
>> module_arch_freeing_init(mod);
>> + codetag_free_module_sections(mod);
>>
>> free_mod_mem(mod);
>> }
>> --
>> 2.39.2
>>