Re: [PATCH v5 13/13] module: Move version support into a separate file
From: Christophe Leroy <hidden>
Date: 2022-02-13 18:29:45
Also in:
live-patching, lkml
Le 13/02/2022 à 19:03, Aaron Tomlin a écrit :
On Thu 2022-02-10 14:28 +0000, Christophe Leroy wrote:quoted
Le 09/02/2022 à 18:11, Aaron Tomlin a écrit :quoted
No functional change. This patch migrates module version support out of core code into kernel/module/version.c. In addition simple code refactoring to make this possible. Signed-off-by: Aaron Tomlin <redacted> --- kernel/module/Makefile | 1 + kernel/module/internal.h | 50 +++++++++++++ kernel/module/main.c | 150 +-------------------------------------- kernel/module/version.c | 110 ++++++++++++++++++++++++++++ 4 files changed, 163 insertions(+), 148 deletions(-) create mode 100644 kernel/module/version.cSparse reports: CHECK kernel/module/version.c kernel/module/version.c:103:6: warning: symbol 'module_layout' was not declared. Should it be static?The function module_layout() does not appear to be used. So, I've decided to remove it.
I'm not sure you can do that.
From commit 8c8ef42aee8f ("module: include other structures in module
version check") I understand that module_layout is there for some signature.
quoted
Checkpatch: total: 0 errors, 2 warnings, 3 checks, 337 lines checkedOk.quoted
quoted
+struct symsearch { + const struct kernel_symbol *start, *stop; + const s32 *crcs; + enum mod_license { + NOT_GPL_ONLY, + GPL_ONLY, + } license; +};Why don't leave this in main.c ?Yes, struct 'symsearch' is not used outside of kernel/module/main.c.quoted
quoted
+inline int check_modstruct_version(const struct load_info *info, + struct module *mod)inline is pointless for a non static functionThis was an unfortunate oversight.quoted
quoted
+inline int same_magic(const char *amagic, const char *bmagic, + bool has_crcs)Same, not point for inline keyword here.Agreed. Kind regards,