All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: x86@kernel.org, jbaron@akamai.com, rostedt@goodmis.org,
	ardb@kernel.org, linux-kernel@vger.kernel.org,
	sumit.garg@linaro.org, oliver.sang@intel.com, jarkko@kernel.org,
	jeyu@kernel.org
Subject: Re: [PATCH 3/3] static_call: Fix static_call_update() sanity check
Date: Fri, 19 Mar 2021 13:57:38 +0100	[thread overview]
Message-ID: <YFSfwimq/VLmo1Lw@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <YFOGvmWiJUDOHy7D@hirez.programming.kicks-ass.net>

On Thu, Mar 18, 2021 at 05:58:38PM +0100, Peter Zijlstra wrote:

> > For CONFIG_MODULE_UNLOAD, the code ends up in the normal text area, so
> > static_call_is_init() is false and kernel_text_address() is true.
> > 
> > For !CONFIG_MODULE_UNLOAD, the code gets discarded during module load,
> > so static_call_is_init() and kernel_text_address() are both false.  I
> > guess that will trigger a warning?
> 
> Oh gawd, more variants.
> 
> Afaict MODULE_UNLOAD, by virtue of that #ifdef in

!MODULE_UNLOAD (obv)

> rewrite_section_headers() won't even load the .exit sections. Afaict
> that will break: alterative, jump_label and static_call patching all in
> one go.

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.

For alternatives all we really need it to discard it after init, for
jump_label and static_call we additinoally need to the code to identify
as init (ie, within_module_init() must return true for it).

  reply	other threads:[~2021-03-19 12:59 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-18 11:31 [PATCH 0/3] static_call() vs __exit fixes Peter Zijlstra
2021-03-18 11:31 ` [PATCH 1/3] static_call: Fix static_call_set_init() Peter Zijlstra
2021-03-19 12:25   ` [tip: locking/urgent] " tip-bot2 for Peter Zijlstra
2021-03-18 11:31 ` [PATCH 2/3] static_call: Align static_call_is_init() patching condition Peter Zijlstra
2021-03-19 12:25   ` [tip: locking/urgent] " tip-bot2 for Peter Zijlstra
2021-03-19 13:31   ` [PATCH 2/3] " Rasmus Villemoes
2021-03-19 14:13     ` Peter Zijlstra
2021-03-19 14:40       ` Rasmus Villemoes
2021-03-19 15:44         ` Rasmus Villemoes
2021-03-22 16:59         ` Peter Zijlstra
2021-03-18 11:31 ` [PATCH 3/3] static_call: Fix static_call_update() sanity check Peter Zijlstra
2021-03-18 11:42   ` Peter Zijlstra
2021-03-18 16:13   ` Josh Poimboeuf
2021-03-18 16:58     ` Peter Zijlstra
2021-03-19 12:57       ` Peter Zijlstra [this message]
2021-03-19 18:00         ` Steven Rostedt
2021-03-19 19:34           ` Peter Zijlstra
2021-03-19 20:57             ` Steven Rostedt
2021-03-22 14:50               ` Jessica Yu
2021-03-22 16:54                 ` Peter Zijlstra
2021-03-22 17:36                   ` Jessica Yu
2021-03-22 13:07           ` Jessica Yu
2021-03-22 14:06             ` Peter Zijlstra
2021-03-19 12:25   ` [tip: locking/urgent] " tip-bot2 for Peter Zijlstra
2021-03-18 12:15 ` [PATCH 0/3] static_call() vs __exit fixes Sumit Garg
2021-03-18 19:38 ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YFSfwimq/VLmo1Lw@hirez.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=ardb@kernel.org \
    --cc=jarkko@kernel.org \
    --cc=jbaron@akamai.com \
    --cc=jeyu@kernel.org \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oliver.sang@intel.com \
    --cc=rostedt@goodmis.org \
    --cc=sumit.garg@linaro.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.