Commit 63c66cde authored by Borislav Petkov's avatar Borislav Petkov
Browse files

x86/alternative: Use insn_decode()



No functional changes, just simplification.

Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20210304174237.31945-10-bp@alien8.de
parent 8c98a605
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1274,15 +1274,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;