Commit 9e761296 authored by Borislav Petkov's avatar Borislav Petkov
Browse files

x86/insn: Rename insn_decode() to insn_decode_from_regs()



Rename insn_decode() to insn_decode_from_regs() to denote that it
receives regs as param and uses registers from there during decoding.
Free the former name for a more generic version of the function.

No functional changes.

Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20210304174237.31945-2-bp@alien8.de
parent 0d391319
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ int insn_fetch_from_user(struct pt_regs *regs,
			 unsigned char buf[MAX_INSN_SIZE]);
int insn_fetch_from_user_inatomic(struct pt_regs *regs,
				  unsigned char buf[MAX_INSN_SIZE]);
bool insn_decode(struct insn *insn, struct pt_regs *regs,
bool insn_decode_from_regs(struct insn *insn, struct pt_regs *regs,
			   unsigned char buf[MAX_INSN_SIZE], int buf_size);

#endif /* _ASM_X86_INSN_EVAL_H */
+1 −1
Original line number Diff line number Diff line
@@ -266,7 +266,7 @@ static enum es_result vc_decode_insn(struct es_em_ctxt *ctxt)
			return ES_EXCEPTION;
		}

		if (!insn_decode(&ctxt->insn, ctxt->regs, buffer, res))
		if (!insn_decode_from_regs(&ctxt->insn, ctxt->regs, buffer, res))
			return ES_DECODE_FAILED;
	} else {
		res = vc_fetch_insn_kernel(ctxt, buffer);
+1 −1
Original line number Diff line number Diff line
@@ -356,7 +356,7 @@ bool fixup_umip_exception(struct pt_regs *regs)
	if (!nr_copied)
		return false;

	if (!insn_decode(&insn, regs, buf, nr_copied))
	if (!insn_decode_from_regs(&insn, regs, buf, nr_copied))
		return false;

	umip_inst = identify_insn(&insn);
+3 −3
Original line number Diff line number Diff line
@@ -1488,7 +1488,7 @@ int insn_fetch_from_user_inatomic(struct pt_regs *regs, unsigned char buf[MAX_IN
}

/**
 * insn_decode() - Decode an instruction
 * insn_decode_from_regs() - Decode an instruction
 * @insn:	Structure to store decoded instruction
 * @regs:	Structure with register values as seen when entering kernel mode
 * @buf:	Buffer containing the instruction bytes
@@ -1501,7 +1501,7 @@ int insn_fetch_from_user_inatomic(struct pt_regs *regs, unsigned char buf[MAX_IN
 *
 * True if instruction was decoded, False otherwise.
 */
bool insn_decode(struct insn *insn, struct pt_regs *regs,
bool insn_decode_from_regs(struct insn *insn, struct pt_regs *regs,
			   unsigned char buf[MAX_INSN_SIZE], int buf_size)
{
	int seg_defs;