mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
powerpc/ftrace: ensure ftrace record ops are always set for NOPs
When an ftrace call site is converted to a NOP, its corresponding
dyn_ftrace record should have its ftrace_ops pointer set to
ftrace_nop_ops.
Correct the powerpc implementation to ensure the
ftrace_rec_set_nop_ops() helper is called on all successful NOP
initialization paths. This ensures all ftrace records are consistent
before being handled by the ftrace core.
Fixes: eec37961a5 ("powerpc64/ftrace: Move ftrace sequence out of line")
Suggested-by: Naveen N Rao <naveen@kernel.org>
Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
Acked-by: Naveen N Rao (AMD) <naveen@kernel.org>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20250912142740.3581368-2-joe.lawrence@redhat.com
This commit is contained in:
committed by
Madhavan Srinivasan
parent
f2863371f0
commit
5337609a31
@@ -488,8 +488,10 @@ int ftrace_init_nop(struct module *mod, struct dyn_ftrace *rec)
|
||||
return ret;
|
||||
|
||||
/* Set up out-of-line stub */
|
||||
if (IS_ENABLED(CONFIG_PPC_FTRACE_OUT_OF_LINE))
|
||||
return ftrace_init_ool_stub(mod, rec);
|
||||
if (IS_ENABLED(CONFIG_PPC_FTRACE_OUT_OF_LINE)) {
|
||||
ret = ftrace_init_ool_stub(mod, rec);
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Nop-out the ftrace location */
|
||||
new = ppc_inst(PPC_RAW_NOP());
|
||||
@@ -520,6 +522,10 @@ int ftrace_init_nop(struct module *mod, struct dyn_ftrace *rec)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
out:
|
||||
if (!ret)
|
||||
ret = ftrace_rec_set_nop_ops(rec);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user