]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: module: rework special section handling
authorMark Rutland <mark.rutland@arm.com>
Thu, 17 Oct 2019 13:03:26 +0000 (14:03 +0100)
committerMark Rutland <mark.rutland@arm.com>
Wed, 6 Nov 2019 14:17:31 +0000 (14:17 +0000)
commit50fa5795753b87b617022177f3374b8d6d300d39
tree640a73fffe14e0a2977ce4227b6ac43fa8592cb7
parentd7706e24c93a8460d52c034c7452455186cda20a
arm64: module: rework special section handling

When we load a module, we have to perform some special work for a couple
of named sections. To do this, we iterate over all of the module's
sections, and perform work for each section we recognize.

To make it easier to handle the unexpected absence of a section, and to
make the section-specific logic easer to read, let's factor the section
search into a helper. Similar is already done in the core module loader,
and other architectures (and ideally we'd unify these in future).

If we expect a module to have an ftrace trampoline section, but it
doesn't have one, we'll now reject loading the module. When
ARM64_MODULE_PLTS is selected, any correctly built module should have
one (and this is assumed by arm64's ftrace PLT code) and the absence of
such a section implies something has gone wrong at build time.

Subsequent patches will make use of the new helper.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Torsten Duwe <duwe@suse.de>
Tested-by: Amit Daniel Kachhap <amit.kachhap@arm.com>
Tested-by: Torsten Duwe <duwe@suse.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Will Deacon <will@kernel.org>
arch/arm64/kernel/module.c