On 28/07/23 11:00, Josh Poimboeuf wrote: > On Thu, Jul 20, 2023 at 05:30:49PM +0100, Valentin Schneider wrote: >> 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@xxxxxxxxxx> > > 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