On Tue, 10 Jun 2025 18:33:28 +0200, Sebastian Andrzej Siewior wrote:
> The per-CPU data section is handled differently than the other sections.
> The memory allocations requires a special __percpu pointer and then the
> section is copied into the view of each CPU. Therefore the SHF_ALLOC
> flag is removed to ensure move_module() skips it.
>
> Later, relocations are applied and apply_relocations() skips sections
> without SHF_ALLOC because they have not been copied. This also skips the
> per-CPU data section.
> The missing relocations result in a NULL pointer on x86-64 and very
> small values on x86-32. This results in a crash because it is not
> skipped like NULL pointer would and can't be dereferenced.
>
> [...]
Applied, thanks!
[1/1] module: Make sure relocations are applied to the per-CPU section
commit: 6c7ceed3f375bf9e2b093623af76df3094c88871
Best regards,
--
Daniel Gomez <[email protected]>