Liming is the DxeCore module owner. 

I own the whole MdeModulePkg, and may dispatch community patch/review request 
to corresponding owner if it's not straightforward for me.

The review process from your side is ok. Don't worry about that:-)

Thanks
Feng

-----Original Message-----
From: Heyi Guo [mailto:heyi....@linaro.org] 
Sent: Monday, June 08, 2015 12:26
To: edk2-devel@lists.sourceforge.net; Tian, Feng
Cc: Ilias Biris
Subject: Re: [edk2] [PATCH] MdeModulePkg: Fix bug of AllocatePages for large 
alignment

Thanks Liming.

I saw Tian is the maintainer of MdeModulePkg, so I had sent the mail to him.

It will be great if you could help to commit this change :)



On 06/08/2015 11:18 AM, Gao, Liming wrote:
> Heyi:
>    Thanks for your catch issue. It only happens when the default alignment is 
> different. Now, only Arm Arch64 uses the different alignments for the 
> different memory types. So, you meet with this issue on QEMU AARCH64 UEFI.
>    I agree your fix.  Reviewed-by: Liming Gao <liming....@intel.com>
>
>    Btw: if you need my help to commit this change, I would like to do it.
>
> Thanks
> Liming
> -----Original Message-----
> From: Heyi Guo [mailto:heyi....@linaro.org]
> Sent: Monday, June 08, 2015 9:26 AM
> To: Tian, Feng
> Cc: edk2-devel@lists.sourceforge.net; Ilias Biris
> Subject: Re: [edk2] [PATCH] MdeModulePkg: Fix bug of AllocatePages for 
> large alignment
>
> Hi Tian,
>
> Do you have any comments on this patch?
>
> Thanks!
>
> On 06/05/2015 09:57 AM, Heyi Guo wrote:
>> Hi Ard,
>>
>> I got this error when running SCT against QEMU AARCH64 UEFI. I think 
>> it will only happen for aarch64 runtime services allocation, because 
>> only this type of memory requires more than 4 pages alignment, which 
>> will trigger the bug. If we use the same alignment (e.g. 64KB) for 
>> both boot and runtime memory, it just avoid the bug indirectly, as 
>> each descriptor would be kept naturally aligned with 64KB.
>>
>> Thanks.
>>
>> On 06/05/2015 12:08 AM, Ard Biesheuvel wrote:
>>> On 4 June 2015 at 17:55, Heyi Guo <heyi....@linaro.org> wrote:
>>>> DescEnd will be clipped for alignment in CoreFindFreePagesI, and it 
>>>> may fall below DescStart, when alignment is more than 16KB
>>>> (included) and both DescStart and original DescEnd fall into a 
>>>> single range of such alignment. This results in a huge size 
>>>> (Negative number in unsigned type) for this descriptor, fulfilling 
>>>> the allocation requirement but failing to run ConvertPages; at last 
>>>> it causes
>>> at least
>>>
>>>> occasional failure of AllocatePages.
>>>>
>>>> A simple comparison is added to ensure we would never get a 
>>>> negative number.
>>>>
>>>> Contributed-under: TianoCore Contribution Agreement 1.0
>>>> Signed-off-by: Heyi Guo <heyi....@linaro.org>
>>> Acked-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
>>>
>>> So is this only happening because we use different granularities for 
>>> boottime and runtime allocations on AArch64?
>>>
>>>
>>>> ---
>>>>    MdeModulePkg/Core/Dxe/Mem/Page.c | 5 +++++
>>>>    1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/MdeModulePkg/Core/Dxe/Mem/Page.c
>>>> b/MdeModulePkg/Core/Dxe/Mem/Page.c
>>>> index a92c865..f2efaf1 100644
>>>> --- a/MdeModulePkg/Core/Dxe/Mem/Page.c
>>>> +++ b/MdeModulePkg/Core/Dxe/Mem/Page.c
>>>> @@ -1051,6 +1051,11 @@ CoreFindFreePagesI (
>>>>
>>>>        DescEnd = ((DescEnd + 1) & (~(Alignment - 1))) - 1;
>>>>
>>>> +    // Skip if DescEnd is less than DescStart after alignment clipping
>>>> +    if (DescEnd < DescStart) {
>>>> +      continue;
>>>> +    }
>>>> +
>>>>        //
>>>>        // Compute the number of bytes we can used from this
>>>>        // descriptor, and see it's enough to satisfy the request
>>>> --
>>>> 2.1.4
>>>>
>
> ----------------------------------------------------------------------
> -------- _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
> ----------------------------------------------------------------------
> -------- _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel


------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to