Re: [PATCH] module: make module symbols visible after init

From: chengjian (D)
Date: Thu Jun 04 2020 - 08:56:04 EST


Hi, Petr, Jessica and Miroslav

Thank you for your reply

On 2020/6/4 16:57, Petr Mladek wrote:
On Wed 2020-06-03 14:12:00, Cheng Jian wrote:

It is really handful that module symbols can be found already when
the module is MODULE_STATE_COMING state. It is used by livepatching,
ftrace, and maybe some other subsystems.

Yes, you are right, I missed this before.

There are many scenes that lookup the symbols of module when the module is

MODULE_STATE_COMING state.

in livepatch:

ÂÂÂ klp_module_coming

-=>Âklp_write_object_relocations

-=>Âklp_resolve_symbols

-=>Âmodule_kallsyms_on_each_symbol

My patch is incorrect.

The problem is that nobody is allowed to use (call) module symbols
before mod->init() is called and the module is moved to
MODULE_STATE_LIVE.

By other words. Any code that calls module symbols before the module
is fully initialized is buggy. The caller should get fixed,
not the kallsyms side.

Have you seen such a problem in the real life, please?

Best Regards,
Petr

.


ÂÂÂ Thank you very much.

ÂÂÂÂÂÂÂ -- Cheng Jian.