mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
inst_len in HVM mmio handler must be a signed variable, as
it may hold an error return value (from hvm_instruction_length). Signed-off-by: Tom Woller <thomas.woller@amd.com>
This commit is contained in:
1 parent
90367a1391
commit
b97b110e07
1 file changed
+3
-3
@@ -760,12 +760,12 @@ static void mmio_operands(int type, unsigned long gpa, struct instruction *inst,
|
||||
|
||||
void handle_mmio(unsigned long va, unsigned long gpa)
|
||||
{
|
||||
unsigned long inst_len, inst_addr;
|
||||
unsigned long inst_addr;
|
||||
struct mmio_op *mmio_opp;
|
||||
struct cpu_user_regs *regs;
|
||||
struct instruction mmio_inst;
|
||||
unsigned char inst[MAX_INST_LEN];
|
||||
int i, realmode, ret;
|
||||
int i, realmode, ret, inst_len;
|
||||
struct vcpu *v = current;
|
||||
|
||||
mmio_opp = &v->arch.hvm_vcpu.mmio_op;
|
||||
@@ -795,7 +795,7 @@ void handle_mmio(unsigned long va, unsigned long gpa)
|
||||
|
||||
if (hvm_decode(realmode, inst, &mmio_inst) == DECODE_failure) {
|
||||
printf("handle_mmio: failed to decode instruction\n");
|
||||
printf("mmio opcode: va 0x%lx, gpa 0x%lx, len %ld:",
|
||||
printf("mmio opcode: va 0x%lx, gpa 0x%lx, len %d:",
|
||||
va, gpa, inst_len);
|
||||
for (i = 0; i < inst_len; i++)
|
||||
printf(" %02x", inst[i] & 0xFF);
|
||||
|
||||