qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] linux-user/mmap.c: Use end instead of real_end


From: Chen Gang
Subject: Re: [Qemu-devel] [PATCH] linux-user/mmap.c: Use end instead of real_end in target_mmap
Date: Thu, 24 Dec 2015 23:25:32 +0800
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

On 12/24/15 17:54, Laurent Vivier wrote:
> 
> Le 24/12/2015 02:07, address@hidden a écrit :
>> From: Chen Gang <address@hidden>
>>
>> In this case, real_end is larger than end, which may cause mmap_frag
>> process the incorrect memory region.
>>
>> Signed-off-by: Chen Gang <address@hidden>
>> ---
>>  linux-user/mmap.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/linux-user/mmap.c b/linux-user/mmap.c
>> index 7b459d5..57b0361 100644
>> --- a/linux-user/mmap.c
>> +++ b/linux-user/mmap.c
>> @@ -536,7 +536,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int 
>> prot,
>>          /* handle the end of the mapping */
>>          if (end < real_end) {
>>              ret = mmap_frag(real_end - qemu_host_page_size,
>> -                            real_end - qemu_host_page_size, real_end,
>> +                            real_end - qemu_host_page_size, end,
>>                              prot, flags, fd,
>>                              offset + real_end - qemu_host_page_size - 
>> start);
>>              if (ret == -1)
>>
> 
> The fragment must effectively be mapped only to "end" not to "real_end"
> (which is a host page aligned address, and thus this is not a fragment).
> It is consistent with what it is done in the case of one single page.
> 
> Reviewed-by: Laurent Vivier <address@hidden>

Thank you for your comments. I only met this issue, and knew it should
be fixed in this way, but really don't know the related details.

Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed



reply via email to

[Prev in Thread] Current Thread [Next in Thread]