[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YFikbJfytBSqBPDU@hirez.programming.kicks-ass.net>
Date: Mon, 22 Mar 2021 15:06:36 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Jessica Yu <jeyu@...nel.org>
Cc: Steven Rostedt <rostedt@...dmis.org>,
Josh Poimboeuf <jpoimboe@...hat.com>, x86@...nel.org,
jbaron@...mai.com, ardb@...nel.org, linux-kernel@...r.kernel.org,
sumit.garg@...aro.org, oliver.sang@...el.com, jarkko@...nel.org
Subject: Re: [PATCH 3/3] static_call: Fix static_call_update() sanity check
On Mon, Mar 22, 2021 at 02:07:54PM +0100, Jessica Yu wrote:
> +++ Steven Rostedt [19/03/21 14:00 -0400]:
> > On Fri, 19 Mar 2021 13:57:38 +0100
> > Peter Zijlstra <peterz@...radead.org> 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.
As explained, that's broken. Has always been for as long as we've had
alternatives.
Powered by blists - more mailing lists