Re: [PATCH v9 13/14] module: Move kdb_modules list out of core code

From: Daniel Thompson
Date: Thu Mar 03 2022 - 07:55:52 EST


On Wed, Mar 02, 2022 at 08:31:53PM +0000, Aaron Tomlin wrote:
> On Wed 2022-03-02 16:19 +0000, Daniel Thompson wrote:
> > On Mon, Feb 28, 2022 at 11:43:21PM +0000, Aaron Tomlin wrote:
> > > No functional change.
> > >
> > > This patch migrates kdb_modules list to core kdb code
> > > since the list of added/or loaded modules is no longer
> > > private.
> > >
> > > Reviewed-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
> > > Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx>
> > > ---
> > > kernel/debug/kdb/kdb_main.c | 5 +++++
> > > kernel/debug/kdb/kdb_private.h | 4 ----
> > > kernel/module/main.c | 4 ----
> > > 3 files changed, 5 insertions(+), 8 deletions(-)
> > >
> > > diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
> > > index 0852a537dad4..5369bf45c5d4 100644
> > > --- a/kernel/debug/kdb/kdb_main.c
> > > +++ b/kernel/debug/kdb/kdb_main.c
> > > @@ -59,6 +59,11 @@ EXPORT_SYMBOL(kdb_grepping_flag);
> > > int kdb_grep_leading;
> > > int kdb_grep_trailing;
> > >
> > > +#ifdef CONFIG_MODULES
> > > +extern struct list_head modules;
> > > +static struct list_head *kdb_modules = &modules; /* kdb needs the list of modules */
>
> Hi Daniel,
>
> > If modules is no longer static then why do we kdb_modules at all?
> > kdb_modules is used exactly once and it can now simply be replaced
> > with &modules.
>
> In my opinion, I would prefer to avoid an explicit include of "internal.h"
> in kernel/module. By definition it should be reserved for internal use to
> kernel/module only. Please keep to the above logic.

Are you sure you are replying the right e-mail here? The quoted text
doesn't propose what you are replying to (although my other e-mail did).

To be clear there are two bits of feedback here and I don't think
"please keep to the above logic" is a sufficient answer.

If I remove the proposal on how to fix the second issue get get:

1. Remove kdb_modules because it is pointless (kdb_main.c can just use
&modules directly lower down the file).
2. Having an extern in a kdb C file that duplicatively declares
something from an alien header file is gross ;-) .


Daniel.