Re: [PATCH v6 11/13] module: Move sysfs support into a separate file

From: Miroslav Benes
Date: Tue Feb 22 2022 - 05:19:24 EST


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 <atomlin@xxxxxxxxxx>

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.

> 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.c
>
> diff --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
> endif
> diff --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