Thread (76 messages) read the whole thread 76 messages, 12 authors, 2023-10-09

Re: [RFC PATCH v2 13/20] context_tracking: Make context_tracking_key __ro_after_init

From: Valentin Schneider <vschneid@redhat.com>
Date: 2023-07-31 11:18:01
Also in: bpf, kvm, linux-doc, linux-kselftest, linux-mm, lkml, rcu

On 28/07/23 11:00, Josh Poimboeuf wrote:
On Thu, Jul 20, 2023 at 05:30:49PM +0100, Valentin Schneider wrote:
quoted
objtool now warns about it:

  vmlinux.o: warning: objtool: enter_from_user_mode+0x4e: Non __ro_after_init static key "context_tracking_key" in .noinstr section
  vmlinux.o: warning: objtool: enter_from_user_mode+0x50: Non __ro_after_init static key "context_tracking_key" in .noinstr section
  vmlinux.o: warning: objtool: syscall_enter_from_user_mode+0x60: Non __ro_after_init static key "context_tracking_key" in .noinstr section
  vmlinux.o: warning: objtool: syscall_enter_from_user_mode+0x62: Non __ro_after_init static key "context_tracking_key" in .noinstr section
  [...]

The key can only be enabled (and not disabled) in the __init function
ct_cpu_tracker_user(), so mark it as __ro_after_init.

Signed-off-by: Valentin Schneider <vschneid@redhat.com>
It's best to avoid temporarily introducing warnings.  Bots will
rightfully complain about that.  This patch and the next one should come
before the objtool patches.
Ack, I'll reverse the order of these.
Also it would be helpful for the commit log to have a brief
justification for the patch beyond "fix the objtool warning".  Something
roughly like:

  Soon, runtime-mutable text won't be allowed in .noinstr sections, so
  that a code patching IPI to a userspace-bound CPU can be safely
  deferred to the next kernel entry.

  'context_tracking_key' is only enabled in __init ct_cpu_tracker_user().
  Mark it as __ro_after_init.
Looks better indeed, thanks!
--
Josh
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help