Le 13/02/2022 à 19:03, Aaron Tomlin a écrit : > On Thu 2022-02-10 14:28 +0000, Christophe Leroy wrote: >> >> >> Le 09/02/2022 à 18:11, Aaron Tomlin a écrit : >>> 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 <atomlin@xxxxxxxxxx> >>> --- >>> 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.c >> >> Sparse 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. > >> Checkpatch: >> >> total: 0 errors, 2 warnings, 3 checks, 337 lines checked > > Ok. > >>> +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. > >>> +inline int check_modstruct_version(const struct load_info *info, >>> + struct module *mod) >> >> inline is pointless for a non static function > > This was an unfortunate oversight. > >>> +inline int same_magic(const char *amagic, const char *bmagic, >>> + bool has_crcs) >> >> Same, not point for inline keyword here. > > Agreed. > > > Kind regards, >