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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.