Re: [PATCH 1/5] LoongArch: Add section of GOT for kernel module

From: Youling Tang
Date: Thu Jul 28 2022 - 05:21:13 EST




On 07/28/2022 05:02 PM, Xi Ruoyao wrote:
On Thu, 2022-07-28 at 16:29 +0800, Youling Tang wrote:
On 07/28/2022 12:26 AM, Xi Ruoyao wrote:
+ mod->arch.got.shdr->sh_type = SHT_NOBITS;
+ mod->arch.got.shdr->sh_flags = SHF_ALLOC;
+ mod->arch.got.shdr->sh_addralign = L1_CACHE_BYTES;
+ mod->arch.got.shdr->sh_size = (num_plts + 1) *
sizeof(struct plt_entry);
+ mod->arch.got.num_entries = 0;
+ mod->arch.got.max_entries = num_plts;
Hi, Ruoyao

We should use num_gots instead of num_plts when creating .got
section.

Yes, it's a stupid error and I'll fix it in V2.

But why didn't this cause a malfunction on my system? :(.

Maybe num_plts is greater than num_gots, and the size of plt_entry is equivalent to the size of four got_entry, so that when the module is loaded, it just allocates a larger space without causing the module to fail to load.

Thanks,
Youling