From: Borislav Petkov Date: Thu, 5 Nov 2020 16:53:20 +0000 (+0100) Subject: x86/boot/compressed/sev-es: Convert to insn_decode() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=514ef77607b9ff184c11b88e8f100bc27f07460d;p=linux.git x86/boot/compressed/sev-es: Convert to insn_decode() Other than simplifying the code there should be no functional changes resulting from this. Signed-off-by: Borislav Petkov Link: https://lkml.kernel.org/r/20210304174237.31945-7-bp@alien8.de --- diff --git a/arch/x86/boot/compressed/sev-es.c b/arch/x86/boot/compressed/sev-es.c index 27826c265aab4..801c626fc3d49 100644 --- a/arch/x86/boot/compressed/sev-es.c +++ b/arch/x86/boot/compressed/sev-es.c @@ -78,16 +78,15 @@ static inline void sev_es_wr_ghcb_msr(u64 val) static enum es_result vc_decode_insn(struct es_em_ctxt *ctxt) { char buffer[MAX_INSN_SIZE]; - enum es_result ret; + int ret; memcpy(buffer, (unsigned char *)ctxt->regs->ip, MAX_INSN_SIZE); - insn_init(&ctxt->insn, buffer, MAX_INSN_SIZE, 1); - insn_get_length(&ctxt->insn); + ret = insn_decode(&ctxt->insn, buffer, MAX_INSN_SIZE, INSN_MODE_64); + if (ret < 0) + return ES_DECODE_FAILED; - ret = ctxt->insn.immediate.got ? ES_OK : ES_DECODE_FAILED; - - return ret; + return ES_OK; } static enum es_result vc_write_mem(struct es_em_ctxt *ctxt,