2022-02-09 17:49:27

by Aaron Tomlin

[permalink] [raw]
Subject: [PATCH v5 01/13] module: Move all into module/

No functional changes.

This patch moves all module related code into a separate directory,
modifies each file name and creates a new Makefile. Note: this effort
is in preparation to refactor core module code.

Signed-off-by: Aaron Tomlin <[email protected]>
---
MAINTAINERS | 2 +-
kernel/Makefile | 5 +----
kernel/module/Makefile | 9 +++++++++
kernel/{module_decompress.c => module/decompress.c} | 2 +-
kernel/{module-internal.h => module/internal.h} | 1 +
kernel/{module.c => module/main.c} | 2 +-
kernel/{module_signature.c => module/signature.c} | 0
kernel/{module_signing.c => module/signing.c} | 2 +-
8 files changed, 15 insertions(+), 8 deletions(-)
create mode 100644 kernel/module/Makefile
rename kernel/{module_decompress.c => module/decompress.c} (99%)
rename kernel/{module-internal.h => module/internal.h} (99%)
rename kernel/{module.c => module/main.c} (99%)
rename kernel/{module_signature.c => module/signature.c} (100%)
rename kernel/{module_signing.c => module/signing.c} (97%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 3e461db9cd91..7e6232bd15f5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13001,7 +13001,7 @@ L: [email protected]
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git modules-next
F: include/linux/module.h
-F: kernel/module.c
+F: kernel/module/main.c

MONOLITHIC POWER SYSTEM PMIC DRIVER
M: Saravanan Sekar <[email protected]>
diff --git a/kernel/Makefile b/kernel/Makefile
index 56f4ee97f328..3a6380975c57 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -53,6 +53,7 @@ obj-y += rcu/
obj-y += livepatch/
obj-y += dma/
obj-y += entry/
+obj-y += module/

obj-$(CONFIG_KCMP) += kcmp.o
obj-$(CONFIG_FREEZER) += freezer.o
@@ -66,10 +67,6 @@ ifneq ($(CONFIG_SMP),y)
obj-y += up.o
endif
obj-$(CONFIG_UID16) += uid16.o
-obj-$(CONFIG_MODULES) += module.o
-obj-$(CONFIG_MODULE_DECOMPRESS) += module_decompress.o
-obj-$(CONFIG_MODULE_SIG) += module_signing.o
-obj-$(CONFIG_MODULE_SIG_FORMAT) += module_signature.o
obj-$(CONFIG_KALLSYMS) += kallsyms.o
obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o
obj-$(CONFIG_CRASH_CORE) += crash_core.o
diff --git a/kernel/module/Makefile b/kernel/module/Makefile
new file mode 100644
index 000000000000..2902fc7d0ef1
--- /dev/null
+++ b/kernel/module/Makefile
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Makefile for linux kernel module support
+#
+
+obj-$(CONFIG_MODULES) += main.o
+obj-$(CONFIG_MODULE_DECOMPRESS) += decompress.o
+obj-$(CONFIG_MODULE_SIG) += signing.o
+obj-$(CONFIG_MODULE_SIG_FORMAT) += signature.o
diff --git a/kernel/module_decompress.c b/kernel/module/decompress.c
similarity index 99%
rename from kernel/module_decompress.c
rename to kernel/module/decompress.c
index b01c69c2ff99..c153fd8a4444 100644
--- a/kernel/module_decompress.c
+++ b/kernel/module/decompress.c
@@ -12,7 +12,7 @@
#include <linux/sysfs.h>
#include <linux/vmalloc.h>

-#include "module-internal.h"
+#include "internal.h"

static int module_extend_max_pages(struct load_info *info, unsigned int extent)
{
diff --git a/kernel/module-internal.h b/kernel/module/internal.h
similarity index 99%
rename from kernel/module-internal.h
rename to kernel/module/internal.h
index 8c381c99062f..c49896368f7f 100644
--- a/kernel/module-internal.h
+++ b/kernel/module/internal.h
@@ -44,6 +44,7 @@ static inline int module_decompress(struct load_info *info,
{
return -EOPNOTSUPP;
}
+
static inline void module_decompress_cleanup(struct load_info *info)
{
}
diff --git a/kernel/module.c b/kernel/module/main.c
similarity index 99%
rename from kernel/module.c
rename to kernel/module/main.c
index 46a5c2ed1928..34a2b0cf3c3e 100644
--- a/kernel/module.c
+++ b/kernel/module/main.c
@@ -58,7 +58,7 @@
#include <linux/dynamic_debug.h>
#include <linux/audit.h>
#include <uapi/linux/module.h>
-#include "module-internal.h"
+#include "internal.h"

#define CREATE_TRACE_POINTS
#include <trace/events/module.h>
diff --git a/kernel/module_signature.c b/kernel/module/signature.c
similarity index 100%
rename from kernel/module_signature.c
rename to kernel/module/signature.c
diff --git a/kernel/module_signing.c b/kernel/module/signing.c
similarity index 97%
rename from kernel/module_signing.c
rename to kernel/module/signing.c
index 8723ae70ea1f..8aeb6d2ee94b 100644
--- a/kernel/module_signing.c
+++ b/kernel/module/signing.c
@@ -12,7 +12,7 @@
#include <linux/string.h>
#include <linux/verification.h>
#include <crypto/public_key.h>
-#include "module-internal.h"
+#include "internal.h"

/*
* Verify the signature on a module.
--
2.34.1



2022-02-10 19:48:55

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH v5 01/13] module: Move all into module/

On Thu, 2022-02-10 at 14:45 +0000, Aaron Tomlin wrote:
> On Thu 2022-02-10 11:11 +0000, Christophe Leroy wrote:
> > > diff --git a/MAINTAINERS b/MAINTAINERS
[]
> > > @@ -13001,7 +13001,7 @@ L: [email protected]
> > > S: Maintained
> > > T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git modules-next
> > > F: include/linux/module.h
> > > -F: kernel/module.c
> > > +F: kernel/module/main.c
> >
> > Shouldn't it be the entire directory ?
>
> Indeed it should. Moving forward: kernel/module/*

Better would be:

F: kernel/module/

in case it ever gets subdirectories too.



2022-02-10 20:09:29

by Aaron Tomlin

[permalink] [raw]
Subject: Re: [PATCH v5 01/13] module: Move all into module/

On Thu 2022-02-10 09:02 -0800, Joe Perches wrote:
> On Thu, 2022-02-10 at 14:45 +0000, Aaron Tomlin wrote:
> Better would be:
>
> F: kernel/module/
>
> in case it ever gets subdirectories too.

Agreed.

--
Aaron Tomlin


2022-02-10 20:30:54

by Aaron Tomlin

[permalink] [raw]
Subject: Re: [PATCH v5 01/13] module: Move all into module/

On Thu 2022-02-10 11:11 +0000, Christophe Leroy wrote:
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 3e461db9cd91..7e6232bd15f5 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -13001,7 +13001,7 @@ L: [email protected]
> > S: Maintained
> > T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git modules-next
> > F: include/linux/module.h
> > -F: kernel/module.c
> > +F: kernel/module/main.c
>
> Shouldn't it be the entire directory ?

Firstly, thank you for your feedback Christophe.

Indeed it should. Moving forward: kernel/module/*

> > @@ -44,6 +44,7 @@ static inline int module_decompress(struct load_info *info,
> > {
> > return -EOPNOTSUPP;
> > }
> > +
>
> This new line should be in patch 3 instead.

Fair enough. Given that the purpose of this particular patch is a simple
migration, style violations e.g. "Please use a blank line after
function/struct/union/enum declarations", can be resolved at a later stage.


Kind regards,

--
Aaron Tomlin


2022-02-11 01:45:14

by Luis Chamberlain

[permalink] [raw]
Subject: Re: [PATCH v5 01/13] module: Move all into module/

On Thu, Feb 10, 2022 at 09:02:09AM -0800, Joe Perches wrote:
> On Thu, 2022-02-10 at 14:45 +0000, Aaron Tomlin wrote:
> > On Thu 2022-02-10 11:11 +0000, Christophe Leroy wrote:
> > > > diff --git a/MAINTAINERS b/MAINTAINERS
> []
> > > > @@ -13001,7 +13001,7 @@ L: [email protected]
> > > > S: Maintained
> > > > T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git modules-next
> > > > F: include/linux/module.h
> > > > -F: kernel/module.c
> > > > +F: kernel/module/main.c
> > >
> > > Shouldn't it be the entire directory ?
> >
> > Indeed it should. Moving forward: kernel/module/*
>
> Better would be:
>
> F: kernel/module/
>
> in case it ever gets subdirectories too.

Yes, that also later allows us to add entries for things like say
livepatching. Or we peg the livepatching file to the livepatching
tag. Either way, one of the side goals of the split is to eventually
help scale maintenance.

Luis

2022-02-11 06:47:42

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH v5 01/13] module: Move all into module/



Le 09/02/2022 à 18:03, Aaron Tomlin a écrit :
> No functional changes.
>
> This patch moves all module related code into a separate directory,
> modifies each file name and creates a new Makefile. Note: this effort
> is in preparation to refactor core module code.
>
> Signed-off-by: Aaron Tomlin <[email protected]>
> ---
> MAINTAINERS | 2 +-
> kernel/Makefile | 5 +----
> kernel/module/Makefile | 9 +++++++++
> kernel/{module_decompress.c => module/decompress.c} | 2 +-
> kernel/{module-internal.h => module/internal.h} | 1 +
> kernel/{module.c => module/main.c} | 2 +-
> kernel/{module_signature.c => module/signature.c} | 0
> kernel/{module_signing.c => module/signing.c} | 2 +-
> 8 files changed, 15 insertions(+), 8 deletions(-)
> create mode 100644 kernel/module/Makefile
> rename kernel/{module_decompress.c => module/decompress.c} (99%)
> rename kernel/{module-internal.h => module/internal.h} (99%)
> rename kernel/{module.c => module/main.c} (99%)
> rename kernel/{module_signature.c => module/signature.c} (100%)
> rename kernel/{module_signing.c => module/signing.c} (97%)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 3e461db9cd91..7e6232bd15f5 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -13001,7 +13001,7 @@ L: [email protected]
> S: Maintained
> T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git modules-next
> F: include/linux/module.h
> -F: kernel/module.c
> +F: kernel/module/main.c

Shouldn't it be the entire directory ?

Otherwise you have to add all new files (and I didn't do it).

>
> MONOLITHIC POWER SYSTEM PMIC DRIVER
> M: Saravanan Sekar <[email protected]>
> diff --git a/kernel/Makefile b/kernel/Makefile
> index 56f4ee97f328..3a6380975c57 100644
> --- a/kernel/Makefile
> +++ b/kernel/Makefile
> @@ -53,6 +53,7 @@ obj-y += rcu/
> obj-y += livepatch/
> obj-y += dma/
> obj-y += entry/
> +obj-y += module/
>
> obj-$(CONFIG_KCMP) += kcmp.o
> obj-$(CONFIG_FREEZER) += freezer.o
> @@ -66,10 +67,6 @@ ifneq ($(CONFIG_SMP),y)
> obj-y += up.o
> endif
> obj-$(CONFIG_UID16) += uid16.o
> -obj-$(CONFIG_MODULES) += module.o
> -obj-$(CONFIG_MODULE_DECOMPRESS) += module_decompress.o
> -obj-$(CONFIG_MODULE_SIG) += module_signing.o
> -obj-$(CONFIG_MODULE_SIG_FORMAT) += module_signature.o
> obj-$(CONFIG_KALLSYMS) += kallsyms.o
> obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o
> obj-$(CONFIG_CRASH_CORE) += crash_core.o
> diff --git a/kernel/module/Makefile b/kernel/module/Makefile
> new file mode 100644
> index 000000000000..2902fc7d0ef1
> --- /dev/null
> +++ b/kernel/module/Makefile
> @@ -0,0 +1,9 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +#
> +# Makefile for linux kernel module support
> +#
> +
> +obj-$(CONFIG_MODULES) += main.o
> +obj-$(CONFIG_MODULE_DECOMPRESS) += decompress.o
> +obj-$(CONFIG_MODULE_SIG) += signing.o
> +obj-$(CONFIG_MODULE_SIG_FORMAT) += signature.o
> diff --git a/kernel/module_decompress.c b/kernel/module/decompress.c
> similarity index 99%
> rename from kernel/module_decompress.c
> rename to kernel/module/decompress.c
> index b01c69c2ff99..c153fd8a4444 100644
> --- a/kernel/module_decompress.c
> +++ b/kernel/module/decompress.c
> @@ -12,7 +12,7 @@
> #include <linux/sysfs.h>
> #include <linux/vmalloc.h>
>
> -#include "module-internal.h"
> +#include "internal.h"
>
> static int module_extend_max_pages(struct load_info *info, unsigned int extent)
> {
> diff --git a/kernel/module-internal.h b/kernel/module/internal.h
> similarity index 99%
> rename from kernel/module-internal.h
> rename to kernel/module/internal.h
> index 8c381c99062f..c49896368f7f 100644
> --- a/kernel/module-internal.h
> +++ b/kernel/module/internal.h
> @@ -44,6 +44,7 @@ static inline int module_decompress(struct load_info *info,
> {
> return -EOPNOTSUPP;
> }
> +

This new line should be in patch 3 instead.

> static inline void module_decompress_cleanup(struct load_info *info)
> {
> }
> diff --git a/kernel/module.c b/kernel/module/main.c
> similarity index 99%
> rename from kernel/module.c
> rename to kernel/module/main.c
> index 46a5c2ed1928..34a2b0cf3c3e 100644
> --- a/kernel/module.c
> +++ b/kernel/module/main.c
> @@ -58,7 +58,7 @@
> #include <linux/dynamic_debug.h>
> #include <linux/audit.h>
> #include <uapi/linux/module.h>
> -#include "module-internal.h"
> +#include "internal.h"
>
> #define CREATE_TRACE_POINTS
> #include <trace/events/module.h>
> diff --git a/kernel/module_signature.c b/kernel/module/signature.c
> similarity index 100%
> rename from kernel/module_signature.c
> rename to kernel/module/signature.c
> diff --git a/kernel/module_signing.c b/kernel/module/signing.c
> similarity index 97%
> rename from kernel/module_signing.c
> rename to kernel/module/signing.c
> index 8723ae70ea1f..8aeb6d2ee94b 100644
> --- a/kernel/module_signing.c
> +++ b/kernel/module/signing.c
> @@ -12,7 +12,7 @@
> #include <linux/string.h>
> #include <linux/verification.h>
> #include <crypto/public_key.h>
> -#include "module-internal.h"
> +#include "internal.h"
>
> /*
> * Verify the signature on a module.