From: Ian Campbell <ian.campbell@citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>,
Wei Liu <wei.liu2@citrix.com>
Cc: xen-devel@lists.xensource.com,
osstest service owner <osstest-admin@xenproject.org>
Subject: Re: [ovmf bisection] complete test-amd64-amd64-xl-qemuu-ovmf-amd64
Date: Tue, 8 Sep 2015 09:41:58 +0100 [thread overview]
Message-ID: <1441701718.13570.6.camel@citrix.com> (raw)
In-Reply-To: <E1ZZ8x0-0004Sx-2A@osstest.test-lab.xenproject.org>
Anthony/Wei,
Please could one of you investigate this new upstream OVMF failure.
Ian.
On Tue, 2015-09-08 at 02:48 +0000, osstest service owner wrote:
> 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 <lersek@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 <pbonzini@redhat.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: "Zeng, Star" <star.zeng@intel.com>
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> Reviewed-by: Star Zeng <star.zeng@intel.com>
>
> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18360 6f
> 19259b-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.o
> rg/linux-pvops.git#9b8b905951bde404f20a7bd4b37a5134f3484569
> -9b8b905951bde404f20a7bd4b37a5134f3484569 git://xenbits.xen.org/osstest/l
> inux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860
> -c530a75c1e6a472b0eb9558310b518f0dfcd8860 https://github.com/tianocore/ed
> k2.git#218ea6c164525292239d5af891365676c6a18f2a
> -776566530b15a4241db00ac317659e5904ad453c git://xenbits.xen.org/staging/q
> emu-xen-unstable.git#7f057440b31da38196e3398fd1b618fc36ad97d6
> -5cdde31eacdd288359746019ad05cac8ed5d9f70 git://xenbits.xen.org/staging/q
> emu-upstream-unstable.git#b05befcbea71a979509ce04f02929969a790c923
> -b05befcbea71a979509ce04f02929969a790c923 git://xenbits.xen.org/xen.git#7
> b99717f62caeac08eea224a177cd28f047ac4b5
> -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 <lersek@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 <pbonzini@redhat.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: "Zeng, Star" <star.zeng@intel.com>
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> Reviewed-by: Star Zeng <star.zeng@intel.com>
>
> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18360 6f
> 19259b-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
>
next prev parent reply other threads:[~2015-09-08 8:41 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-08 2:48 [ovmf bisection] complete test-amd64-amd64-xl-qemuu-ovmf-amd64 osstest service owner
2015-09-08 8:41 ` Ian Campbell [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-10-18 10:27 osstest service owner
2022-12-17 3:37 osstest service owner
2021-06-10 9:39 osstest service owner
2020-12-11 23:57 osstest service owner
2019-01-20 3:38 osstest service owner
2017-02-24 12:19 osstest service owner
2016-04-07 5:46 osstest service owner
2016-02-19 18:12 osstest service owner
2015-02-19 12:31 xen.org
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1441701718.13570.6.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=anthony.perard@citrix.com \
--cc=osstest-admin@xenproject.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).