Re: [PATCH v6 11/13] module: Move sysfs support into a separate file
From: Miroslav Benes <mbenes@suse.cz>
Date: 2022-02-22 10:19:25
Also in:
live-patching, lkml
On Fri, 18 Feb 2022, Aaron Tomlin wrote:
No functional change. This patch migrates module sysfs support out of core code into kernel/module/sysfs.c. In addition simple code refactoring to make this possible. Signed-off-by: Aaron Tomlin <redacted>
There was apparently a problem on your side when sending the series. There is Reply-To field which probably should have been In-Reply-To. It also applied to the following two patches.
quoted hunk ↗ jump to hunk
kernel/module/Makefile | 1 + kernel/module/internal.h | 21 ++ kernel/module/main.c | 469 +-------------------------------------- kernel/module/sysfs.c | 436 ++++++++++++++++++++++++++++++++++++ 4 files changed, 461 insertions(+), 466 deletions(-) create mode 100644 kernel/module/sysfs.cdiff --git a/kernel/module/Makefile b/kernel/module/Makefile index f66fda0b41cc..a3cbe09ce2b2 100644 --- a/kernel/module/Makefile +++ b/kernel/module/Makefile@@ -14,4 +14,5 @@ obj-$(CONFIG_STRICT_MODULE_RWX) += strict_rwx.o obj-$(CONFIG_DEBUG_KMEMLEAK) += debug_kmemleak.o obj-$(CONFIG_KALLSYMS) += kallsyms.o obj-$(CONFIG_PROC_FS) += procfs.o +obj-$(CONFIG_SYSFS) += sysfs.o endifdiff --git a/kernel/module/internal.h b/kernel/module/internal.h index ddb37024a0d6..74096cca742c 100644 --- a/kernel/module/internal.h +++ b/kernel/module/internal.h@@ -34,6 +34,9 @@ extern struct mutex module_mutex; extern struct list_head modules; +extern struct module_attribute *modinfo_attrs[]; +extern size_t modinfo_attrs_count; + /* Provided by the linker */ extern const struct kernel_symbol __start___ksymtab[]; extern const struct kernel_symbol __stop___ksymtab[];@@ -213,3 +216,21 @@ static inline bool sect_empty(const Elf_Shdr *sect) static inline void layout_symtab(struct module *mod, struct load_info *info) { } static inline void add_kallsyms(struct module *mod, const struct load_info *info) { } #endif /* CONFIG_KALLSYMS */ + +#ifdef CONFIG_SYSFS +int mod_sysfs_setup(struct module *mod, const struct load_info *info, + struct kernel_param *kparam, unsigned int num_params); +void mod_sysfs_teardown(struct module *mod); +void init_param_lock(struct module *mod); +#else /* !CONFIG_SYSFS */ +static inline int mod_sysfs_setup(struct module *mod, + const struct load_info *info, + struct kernel_param *kparam, + unsigned int num_params)
Whitespace is broken here. Miroslav