Re: [PATCH 3/3] static_call: Fix static_call_update() sanity check

From: Jessica Yu
Date: Mon Mar 22 2021 - 09:16:47 EST


+++ Steven Rostedt [19/03/21 14:00 -0400]:
On Fri, 19 Mar 2021 13:57:38 +0100
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

Jessica, can you explain how !MODULE_UNLOAD is supposed to work?
Alternatives, jump_labels and static_call all can have relocations into
__exit code. Not loading it at all would be BAD.

According to the description:

" Without this option you will not be able to unload any
modules (note that some modules may not be unloadable anyway), which
makes your kernel smaller, faster and simpler.
If unsure, say Y."

Seems there's no reason to load the "exit" portion, as that's what makes it
"smaller".

Exactly. If you disable MODULE_UNLOAD, then you don't intend to ever
unload any modules, and so you'll never end up calling the module's
cleanup/exit function. That code would basically be never used, so
that's why it's not loaded in the first place.