[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 5/7] x86emul: don't special case fetching unsigned 8-bit immediates



On 11/08/16 17:44, Jan Beulich wrote:
>>>> On 11.08.16 at 18:32, <andrew.cooper3@xxxxxxxxxx> wrote:
>> On 11/08/16 13:06, Jan Beulich wrote:
>>> @@ -2893,7 +2894,6 @@ x86_emulate(
>>>          goto swint;
>>>  
>>>      case 0xcd: /* int imm8 */
>>> -        src.val = insn_fetch_type(uint8_t);
>>>          swint_type = x86_swint_int;
>>>      swint:
>>>          rc = inject_swint(swint_type, src.val,
>> I would be tempted to and an explicit (uint8_t) here, so that injection
>> doesn't break if the prototype of inject_swint() changes.
> I guess I'll leave it that way, for two reasons:
> - One shouldn't change prototypes without checking whether callers
>   cope.

Indeed, but that doesn't alter the fact that you, I, and others we have
reviewed code from have managed to do precisely this, and break things.

> - Here you basically suggest the opposite of what you wish done to
>   the earlier patch for the jmp_rel() invocations.

jmp_rel() is a macro not a function, but in hindsight, I rescind that
request.

You specifically state in the commit message that this change overloads
the use of SrcImmByte, and that care needs to be taken dealing with src.val.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.