powerpc/code-patching: Fix patch_branch() return on out-of-range failure
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Thu, 2 Dec 2021 12:00:22 +0000 (13:00 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 23 Dec 2021 11:35:24 +0000 (22:35 +1100)
Do not silentely ignore a failure of create_branch() in
patch_branch(). Return -ERANGE.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/8540cb64b1f06710eaf41e3835c7ba3e21fa2b05.1638446239.git.christophe.leroy@csgroup.eu
arch/powerpc/lib/code-patching.c

index 3da7224..998aeb9 100644 (file)
@@ -191,7 +191,9 @@ int patch_branch(u32 *addr, unsigned long target, int flags)
 {
        ppc_inst_t instr;
 
-       create_branch(&instr, addr, target, flags);
+       if (create_branch(&instr, addr, target, flags))
+               return -ERANGE;
+
        return patch_instruction(addr, instr);
 }