Callers are supposed to handle this, but it is possible that they don't or they do but don't make much noise about it. A failure is probably an indication of a bigger problem somewhere so it is good to warn once about it.
Signed-off-by: Nicholas Piggin <npig...@gmail.com> --- arch/powerpc/lib/code-patching.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/lib/code-patching.c b/arch/powerpc/lib/code-patching.c index 57e160963ab7..70247fc58b6e 100644 --- a/arch/powerpc/lib/code-patching.c +++ b/arch/powerpc/lib/code-patching.c @@ -161,6 +161,7 @@ static int do_patch_instruction(u32 *addr, struct ppc_inst instr) text_poke_addr = (unsigned long)__this_cpu_read(text_poke_area)->addr; if (map_patch_area(addr, text_poke_addr)) { + WARN_ON_ONCE(1); err = -1; goto out; } @@ -192,8 +193,10 @@ static bool skip_addr_verif = false; int patch_instruction(u32 *addr, struct ppc_inst instr) { /* Make sure we aren't patching a freed init section */ - if (!skip_addr_verif && !kernel_text_address((unsigned long)addr)) + if (!skip_addr_verif && !kernel_text_address((unsigned long)addr)) { + WARN_ON_ONCE(1); return 0; + } return do_patch_instruction(addr, instr); } -- 2.23.0