branch xen-unstable xen branch xen-unstable job test-amd64-amd64-xl-qemuu-ovmf-amd64 test debian-hvm-install
Tree: linux git://xenbits.xen.org/linux-pvops.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: ovmf https://github.com/tianocore/edk2.git Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen git://xenbits.xen.org/xen.git *** Found and reproduced problem changeset *** Bug is in tree: ovmf https://github.com/tianocore/edk2.git Bug introduced: ead7cb12d5b0e23b55e47f38a8a0675958783668 Bug not present: 1a85139d9eac7f260a21a6ecb06a578a5255edf7 commit ead7cb12d5b0e23b55e47f38a8a0675958783668 Author: Laszlo Ersek <ler...@redhat.com> Date: Fri Aug 28 08:12:51 2015 +0000 OvmfPkg: prevent code execution from DXE stack SVN rev 18166 ("MdeModulePkg DxeIpl: Add stack NX support") enables platforms to request non-executable stack for the DXE phase, by setting PcdSetNxForStack to TRUE. The PCD defaults to FALSE, because: (a) A non-executable DXE stack is a new feature and causes changes in behavior. Some platform could rely on executing code from the stack. (b) The code enabling NX in the DXE IPL PEIM enforces the PcdSetNxForStack ==> PcdDxeIplBuildPageTables implication for "64-bit PEI + 64-bit DXE" platforms, with a new ASSERT(). Some platform might not comply with this requirement immediately. Regarding (a), in none of the OVMF builds do we try to execute code from the stack. Regarding (b): - In the OvmfPkgX64.dsc build (which is where (b) applies) we simply inherit the PcdDxeIplBuildPageTables|TRUE default from "MdeModulePkg/MdeModulePkg.dec". Therefore we can set PcdSetNxForStack to TRUE. - In OvmfPkgIa32X64.dsc, page tables are built by default for DXE. Hence we can set PcdSetNxForStack to TRUE. - In OvmfPkgIa32.dsc, page tables used not to be necessary until now. After we set PcdSetNxForStack to TRUE in this patch, the DXE IPL will construct page tables even when it is built as part of OvmfPkgIa32.dsc, provided the (virtual) hardware supports both PAE mode and the XD bit. Should this setting cause problems in a GPU (or other device) passthru scenario, with a UEFI_DRIVER in the PCI option rom attempting to execute code from the stack, the feature can be dynamically disabled on the QEMU command line, with "-cpu <MODEL>,-nx". Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Jordan Justen <jordan.l.jus...@intel.com> Cc: "Zeng, Star" <star.z...@intel.com> Suggested-by: Paolo Bonzini <pbonz...@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <ler...@redhat.com> Reviewed-by: Star Zeng <star.z...@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18360 6f19259b-4bc3-4df7-8a09-765794883524 For bisection revision-tuple graph see: http://logs.test-lab.xenproject.org/osstest/results/bisect/ovmf/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.html Revision IDs in each graph node refer, respectively, to the Trees above. ---------------------------------------- Running cs-bisection-step --graph-out=/home/logs/results/bisect/ovmf/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/61576.bisection-summary --basis-template=60869 --blessings=real,real-bisect ovmf test-amd64-amd64-xl-qemuu-ovmf-amd64 debian-hvm-install Searching for failure / basis pass: 61299 fail [host=italia1] / 60904 ok. Failure / basis pass flights: 61299 / 60904 (tree with no url: seabios) Tree: linux git://xenbits.xen.org/linux-pvops.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: ovmf https://github.com/tianocore/edk2.git Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen git://xenbits.xen.org/xen.git Latest 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 776566530b15a4241db00ac317659e5904ad453c 5cdde31eacdd288359746019ad05cac8ed5d9f70 b05befcbea71a979509ce04f02929969a790c923 801ab48e5556cb54f67e3cb57f077f47e8663ced Basis pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 218ea6c164525292239d5af891365676c6a18f2a 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b99717f62caeac08eea224a177cd28f047ac4b5 Generating revisions with ./adhoc-revtuple-generator git://xenbits.xen.org/linux-pvops.git#9b8b905951bde404f20a7bd4b37a5134f3484569-9b8b905951bde404f20a7bd4b37a5134f3484569 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 https://github.com/tianocore/edk2.git#218ea6c164525292239d5af891365676c6a18f2a-776566530b15a4241db00ac317659e5904ad453c git://xenbits.xen.org/staging/qemu-xen-unstable.git#7f057440b31da38196e3398fd1b618fc36ad97d6-5cdde31eacdd288359746019ad05cac8ed5d9f70 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#b05befcbea71a979509ce04f02929969a790c923-b05befcbea71a979509ce04f02929969a790c923 git://xenbits.xen.org/xen.git#7b99717f62caeac08eea224a177cd28f047ac4b5-801ab48e5556cb54f67e3cb57f077f47e8663ced Loaded 4005 nodes in revision graph Searching for test results: 60904 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 218ea6c164525292239d5af891365676c6a18f2a 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b99717f62caeac08eea224a177cd28f047ac4b5 60967 pass irrelevant 60968 fail irrelevant 61057 [] 61081 fail irrelevant 61009 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 218ea6c164525292239d5af891365676c6a18f2a 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b99717f62caeac08eea224a177cd28f047ac4b5 61056 fail irrelevant 61062 [] 61294 pass irrelevant 61296 pass irrelevant 61297 fail irrelevant 61277 pass irrelevant 61253 pass irrelevant 61246 fail irrelevant 61298 pass irrelevant 61287 pass irrelevant 61291 pass irrelevant 61300 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 218ea6c164525292239d5af891365676c6a18f2a 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b99717f62caeac08eea224a177cd28f047ac4b5 61299 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 776566530b15a4241db00ac317659e5904ad453c 5cdde31eacdd288359746019ad05cac8ed5d9f70 b05befcbea71a979509ce04f02929969a790c923 801ab48e5556cb54f67e3cb57f077f47e8663ced 61340 fail irrelevant 61539 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 92f62cfe0a74eaea750104249761f207e8755e88 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 61528 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 2df2d35ab2a101e8152addb2a33598e24c2e1f83 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 61518 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 776566530b15a4241db00ac317659e5904ad453c 5cdde31eacdd288359746019ad05cac8ed5d9f70 b05befcbea71a979509ce04f02929969a790c923 801ab48e5556cb54f67e3cb57f077f47e8663ced 61533 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ead7cb12d5b0e23b55e47f38a8a0675958783668 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 61567 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ead7cb12d5b0e23b55e47f38a8a0675958783668 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 61541 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 678226f632a7a369b36429afc9267f2774846ad8 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 61546 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0cd35d739ea8c0096af0db7d920010593db5779f 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 61571 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1a85139d9eac7f260a21a6ecb06a578a5255edf7 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 61549 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1a85139d9eac7f260a21a6ecb06a578a5255edf7 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 61555 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ead7cb12d5b0e23b55e47f38a8a0675958783668 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 61576 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ead7cb12d5b0e23b55e47f38a8a0675958783668 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 61562 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1a85139d9eac7f260a21a6ecb06a578a5255edf7 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 Searching for interesting versions Result found: flight 60904 (pass), for basis pass Result found: flight 61299 (fail), for basis failure Repro found: flight 61300 (pass), for basis pass Repro found: flight 61518 (fail), for basis failure 0 revisions at 9b8b905951bde404f20a7bd4b37a5134f3484569 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1a85139d9eac7f260a21a6ecb06a578a5255edf7 7f057440b31da38196e3398fd1b618fc36ad97d6 b05befcbea71a979509ce04f02929969a790c923 7b21214a3a8d8427bb1242f1cb5f138154ff5600 No revisions left to test, checking graph state. Result found: flight 61549 (pass), for last pass Result found: flight 61555 (fail), for first failure Repro found: flight 61562 (pass), for last pass Repro found: flight 61567 (fail), for first failure Repro found: flight 61571 (pass), for last pass Repro found: flight 61576 (fail), for first failure *** Found and reproduced problem changeset *** Bug is in tree: ovmf https://github.com/tianocore/edk2.git Bug introduced: ead7cb12d5b0e23b55e47f38a8a0675958783668 Bug not present: 1a85139d9eac7f260a21a6ecb06a578a5255edf7 commit ead7cb12d5b0e23b55e47f38a8a0675958783668 Author: Laszlo Ersek <ler...@redhat.com> Date: Fri Aug 28 08:12:51 2015 +0000 OvmfPkg: prevent code execution from DXE stack SVN rev 18166 ("MdeModulePkg DxeIpl: Add stack NX support") enables platforms to request non-executable stack for the DXE phase, by setting PcdSetNxForStack to TRUE. The PCD defaults to FALSE, because: (a) A non-executable DXE stack is a new feature and causes changes in behavior. Some platform could rely on executing code from the stack. (b) The code enabling NX in the DXE IPL PEIM enforces the PcdSetNxForStack ==> PcdDxeIplBuildPageTables implication for "64-bit PEI + 64-bit DXE" platforms, with a new ASSERT(). Some platform might not comply with this requirement immediately. Regarding (a), in none of the OVMF builds do we try to execute code from the stack. Regarding (b): - In the OvmfPkgX64.dsc build (which is where (b) applies) we simply inherit the PcdDxeIplBuildPageTables|TRUE default from "MdeModulePkg/MdeModulePkg.dec". Therefore we can set PcdSetNxForStack to TRUE. - In OvmfPkgIa32X64.dsc, page tables are built by default for DXE. Hence we can set PcdSetNxForStack to TRUE. - In OvmfPkgIa32.dsc, page tables used not to be necessary until now. After we set PcdSetNxForStack to TRUE in this patch, the DXE IPL will construct page tables even when it is built as part of OvmfPkgIa32.dsc, provided the (virtual) hardware supports both PAE mode and the XD bit. Should this setting cause problems in a GPU (or other device) passthru scenario, with a UEFI_DRIVER in the PCI option rom attempting to execute code from the stack, the feature can be dynamically disabled on the QEMU command line, with "-cpu <MODEL>,-nx". Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Jordan Justen <jordan.l.jus...@intel.com> Cc: "Zeng, Star" <star.z...@intel.com> Suggested-by: Paolo Bonzini <pbonz...@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <ler...@redhat.com> Reviewed-by: Star Zeng <star.z...@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18360 6f19259b-4bc3-4df7-8a09-765794883524 Revision graph left in /home/logs/results/bisect/ovmf/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html}. ---------------------------------------- 61576: tolerable ALL FAIL flight 61576 ovmf real-bisect [real] http://logs.test-lab.xenproject.org/osstest/logs/61576/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: test-amd64-amd64-xl-qemuu-ovmf-amd64 9 debian-hvm-install fail baseline untested jobs: test-amd64-amd64-xl-qemuu-ovmf-amd64 fail ------------------------------------------------------------ sg-report-flight on osstest.test-lab.xenproject.org logs: /home/logs/logs images: /home/logs/images Logs, config files, etc. are available at http://logs.test-lab.xenproject.org/osstest/logs Explanation of these reports, and of osstest in general, is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master Test harness code can be found at http://xenbits.xen.org/gitweb?p=osstest.git;a=summary _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel