[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] target-s390x: fix LOAD MULTIPLE instruction
From: |
Alexander Graf |
Subject: |
Re: [Qemu-devel] [PATCH v2] target-s390x: fix LOAD MULTIPLE instruction on page boundary |
Date: |
Tue, 26 May 2015 23:43:57 +0200 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 |
On 26.05.15 18:15, Richard Henderson wrote:
> On 05/26/2015 02:09 AM, Aurelien Jarno wrote:
>> This is an important detail in case the base register is in the list
>> of registers to be loaded. If a page fault occurs this register might be
>> overwritten and when the instruction is later restarted the wrong
>> base register value is useD.
>>
>> Fix this by first loading the first and last value from memory, hence
>> triggering all possible page faults, and then the remaining registers.
>>
>> This fixes random segmentation faults seen in the guest.
>>
>> Cc: Alexander Graf <address@hidden>
>> Cc: Richard Henderson <address@hidden>
>> Signed-off-by: Aurelien Jarno <address@hidden>
>> ---
>> target-s390x/translate.c | 128
>> ++++++++++++++++++++++++++++++++++++-----------
>> 1 file changed, 99 insertions(+), 29 deletions(-)
>>
>> Changes v1->v2:
>> - Do the load in two steps: first and last registers, and then the remaining
>> ones
>
> Reviewed-by: Richard Henderson <address@hidden>
Thanks, applied to s390-next.
So what do we do about the other patch set?
Alex