[edk2] [PATCH v8 0/2] Fix multiple entries of RT_CODE in memory map

Jian J Wang posted 2 patches 7 years, 1 month ago
Failed in applying to current master (apply log)
MdeModulePkg/Core/Dxe/Mem/Page.c | 20 +++++++++
UefiCpuPkg/CpuDxe/CpuPageTable.c | 94 +++++++++++++++++++++++++++++++---------
2 files changed, 93 insertions(+), 21 deletions(-)
[edk2] [PATCH v8 0/2] Fix multiple entries of RT_CODE in memory map
Posted by Jian J Wang 7 years, 1 month ago
> v8:
>    Remove merge code but keep code to remain MemoryMapStart

> v7:
>    Merge memory map after filtering paging attributes

> v6:
>    Add ExecuteDisable feature check to include/exclude EFI_MEMORY_XP

> v5:
>    Coding style clean-up

> v4:
> a. Remove DoUpdate and check attributes mismatch all the time to avoid
>    a logic hole
> b. Add warning message if failed to update capability
> c. Add local variable to hold new attributes to make code cleaner

> v3:
> a. Add comment to explain more on updating memory capabilities
> b. Fix logic hole in updating attributes
> c. Instead of checking illegal memory space address and size, use return
>    status of gDS->SetMemorySpaceCapabilities() to skip memory block which
>    cannot be updated with new capabilities.

> v2
> a. Fix an issue which will cause setting capability failure if size is smaller
>    than a page.

More than one entry of RT_CODE memory might cause boot problem for some
old OSs. This patch will fix this issue to keep OS compatibility as much
as possible.

More detailed information, please refer to
    https://bugzilla.tianocore.org/show_bug.cgi?id=753

Laszlo did a thorough test on OVMF emulated platform. The details can be found
at https://bugzilla.tianocore.org/show_bug.cgi?id=753#c10

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>

Jian J Wang (2):
  UefiCpuPkg/CpuDxe: Fix multiple entries of RT_CODE in memory map
  MdeModulePkg/DxeCore: Filter out all paging capabilities

 MdeModulePkg/Core/Dxe/Mem/Page.c | 20 +++++++++
 UefiCpuPkg/CpuDxe/CpuPageTable.c | 94 +++++++++++++++++++++++++++++++---------
 2 files changed, 93 insertions(+), 21 deletions(-)

-- 
2.14.1.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v8 0/2] Fix multiple entries of RT_CODE in memory map
Posted by Laszlo Ersek 7 years, 1 month ago
On 11/23/17 03:12, Jian J Wang wrote:
>> v8:
>>    Remove merge code but keep code to remain MemoryMapStart
> 
>> v7:
>>    Merge memory map after filtering paging attributes
> 
>> v6:
>>    Add ExecuteDisable feature check to include/exclude EFI_MEMORY_XP
> 
>> v5:
>>    Coding style clean-up
> 
>> v4:
>> a. Remove DoUpdate and check attributes mismatch all the time to avoid
>>    a logic hole
>> b. Add warning message if failed to update capability
>> c. Add local variable to hold new attributes to make code cleaner
> 
>> v3:
>> a. Add comment to explain more on updating memory capabilities
>> b. Fix logic hole in updating attributes
>> c. Instead of checking illegal memory space address and size, use return
>>    status of gDS->SetMemorySpaceCapabilities() to skip memory block which
>>    cannot be updated with new capabilities.
> 
>> v2
>> a. Fix an issue which will cause setting capability failure if size is smaller
>>    than a page.
> 
> More than one entry of RT_CODE memory might cause boot problem for some
> old OSs. This patch will fix this issue to keep OS compatibility as much
> as possible.
> 
> More detailed information, please refer to
>     https://bugzilla.tianocore.org/show_bug.cgi?id=753
> 
> Laszlo did a thorough test on OVMF emulated platform. The details can be found
> at https://bugzilla.tianocore.org/show_bug.cgi?id=753#c10
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
> Tested-by: Laszlo Ersek <lersek@redhat.com>
> 
> Jian J Wang (2):
>   UefiCpuPkg/CpuDxe: Fix multiple entries of RT_CODE in memory map
>   MdeModulePkg/DxeCore: Filter out all paging capabilities
> 
>  MdeModulePkg/Core/Dxe/Mem/Page.c | 20 +++++++++
>  UefiCpuPkg/CpuDxe/CpuPageTable.c | 94 +++++++++++++++++++++++++++++++---------
>  2 files changed, 93 insertions(+), 21 deletions(-)
> 

Many thanks, Jian; this version looks great. From my side, please feel
free to push it.

Thanks,
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel