mirror of https://github.com/acidanthera/audk.git
UefiCpuPkg/CpuPageTableLib: Init local variable before using it.
The local variable OneOfPagingEntry is used before initialized, this may cause reserved bit in page table entry is set especially in PAE paging mode. The bug is random because it depends on the value in stack. Reviewed-by: Ray Ni <ray.ni@intel.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
This commit is contained in:
parent
ef3fde64aa
commit
c83ffd2676
|
@ -338,7 +338,7 @@ PageTableLibMapInLevel (
|
|||
ParentAttribute = &LocalParentAttribute;
|
||||
|
||||
OriginalParentPagingEntry.Uint64 = ParentPagingEntry->Uint64;
|
||||
|
||||
OneOfPagingEntry.Uint64 = 0;
|
||||
//
|
||||
// RegionLength: 256T (1 << 48) 512G (1 << 39), 1G (1 << 30), 2M (1 << 21) or 4K (1 << 12).
|
||||
//
|
||||
|
@ -367,8 +367,6 @@ PageTableLibMapInLevel (
|
|||
if (RETURN_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
OneOfPagingEntry.Pnle.Uint64 = 0;
|
||||
} else {
|
||||
PageTableLibSetPle (Level, &OneOfPagingEntry, 0, &PleBAttribute, &AllOneMask);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue