]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
x86/alternative: Use insn_decode()
authorBorislav Petkov <bp@suse.de>
Fri, 6 Nov 2020 18:37:25 +0000 (19:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Jul 2022 09:26:12 +0000 (11:26 +0200)
commit 63c66cde7bbcc79aac14b25861c5b2495eede57b upstream.

No functional changes, just simplification.

Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20210304174237.31945-10-bp@alien8.de
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/alternative.c

index ff2987d5aeed8345ff297e085c3d755ec1af44d7..9da3267ec3b55106e68b63e9ec82c39ccfad5ef7 100644 (file)
@@ -1284,15 +1284,15 @@ static void text_poke_loc_init(struct text_poke_loc *tp, void *addr,
                               const void *opcode, size_t len, const void *emulate)
 {
        struct insn insn;
+       int ret;
 
        memcpy((void *)tp->text, opcode, len);
        if (!emulate)
                emulate = opcode;
 
-       kernel_insn_init(&insn, emulate, MAX_INSN_SIZE);
-       insn_get_length(&insn);
+       ret = insn_decode(&insn, emulate, MAX_INSN_SIZE, INSN_MODE_KERN);
 
-       BUG_ON(!insn_complete(&insn));
+       BUG_ON(ret < 0);
        BUG_ON(len != insn.length);
 
        tp->rel_addr = addr - (void *)_stext;