]> git.proxmox.com Git - mirror_edk2.git/commit
Fix tracker 202216:linux runtime test issue.
authoreric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 19 Mar 2009 08:50:41 +0000 (08:50 +0000)
committereric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 19 Mar 2009 08:50:41 +0000 (08:50 +0000)
commitfba0ee1f4cfd80ae2ac2ae5b82a01a17c72dfef5
treee2103b23a0e7f15ea4abf32b34898f27fe867223
parentf7796c71c52d686034fffa3a7480cbdbb69ae531
Fix tracker 202216:linux runtime test issue.
[Root Cause]
The root cause is that in FindVariable function, original code logic will traverse all variable stored in variable volatile/non-volatile area. If the non-variable area is full and Linux sets a new variable, the caller of GetNextVariablePtr will get the address of next memory block, but this block doesn't be reserved as RUNTIME attribute. Therefore its corresponding page translation table doesn't exist and causes linux kernel panic.

Note that, Variable Pei driver has not such issue as the flash area is accessed in pre-os environment.All page table entries are filled. The access to next memory block will not cause such issue.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7910 6f19259b-4bc3-4df7-8a09-765794883524
MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c
MdeModulePkg/Universal/Variable/Pei/Variable.c