* [ovmf test] 100687: all pass - PUSHED
@ 2016-09-01 8:47 osstest service owner
2016-09-01 9:45 ` [PATCH] tools/migrate: Prevent PTE truncation from being fatal duing the live phase Andrew Cooper
0 siblings, 1 reply; 5+ messages in thread
From: osstest service owner @ 2016-09-01 8:47 UTC (permalink / raw)
To: xen-devel, osstest-admin
flight 100687 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/100687/
Perfect :-)
All tests in this flight passed as required
version targeted for testing:
ovmf 950a3bc788b5b101729b26aed3ff75fd2a64a570
baseline version:
ovmf 6c59c7c2f488d7c9b951b5ead780f6102dafae8a
Last test of basis 100673 2016-08-31 08:44:09 Z 1 days
Testing same since 100687 2016-09-01 07:14:06 Z 0 days 1 attempts
------------------------------------------------------------
People who touched revisions under test:
Chao Zhang <chao.b.zhang@intel.com>
Zhang, Chao B <chao.b.zhang@intel.com>
jobs:
build-amd64-xsm pass
build-i386-xsm pass
build-amd64 pass
build-i386 pass
build-amd64-libvirt pass
build-i386-libvirt pass
build-amd64-pvops pass
build-i386-pvops pass
test-amd64-amd64-xl-qemuu-ovmf-amd64 pass
test-amd64-i386-xl-qemuu-ovmf-amd64 pass
------------------------------------------------------------
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
Pushing revision :
+ branch=ovmf
+ revision=950a3bc788b5b101729b26aed3ff75fd2a64a570
+ . ./cri-lock-repos
++ . ./cri-common
+++ . ./cri-getconfig
+++ umask 002
+++ getrepos
++++ getconfig Repos
++++ perl -e '
use Osstest;
readglobalconfig();
print $c{"Repos"} or die $!;
'
+++ local repos=/home/osstest/repos
+++ '[' -z /home/osstest/repos ']'
+++ '[' '!' -d /home/osstest/repos ']'
+++ echo /home/osstest/repos
++ repos=/home/osstest/repos
++ repos_lock=/home/osstest/repos/lock
++ '[' x '!=' x/home/osstest/repos/lock ']'
++ OSSTEST_REPOS_LOCK_LOCKED=/home/osstest/repos/lock
++ exec with-lock-ex -w /home/osstest/repos/lock ./ap-push ovmf 950a3bc788b5b101729b26aed3ff75fd2a64a570
+ branch=ovmf
+ revision=950a3bc788b5b101729b26aed3ff75fd2a64a570
+ . ./cri-lock-repos
++ . ./cri-common
+++ . ./cri-getconfig
+++ umask 002
+++ getrepos
++++ getconfig Repos
++++ perl -e '
use Osstest;
readglobalconfig();
print $c{"Repos"} or die $!;
'
+++ local repos=/home/osstest/repos
+++ '[' -z /home/osstest/repos ']'
+++ '[' '!' -d /home/osstest/repos ']'
+++ echo /home/osstest/repos
++ repos=/home/osstest/repos
++ repos_lock=/home/osstest/repos/lock
++ '[' x/home/osstest/repos/lock '!=' x/home/osstest/repos/lock ']'
+ . ./cri-common
++ . ./cri-getconfig
++ umask 002
+ select_xenbranch
+ case "$branch" in
+ tree=ovmf
+ xenbranch=xen-unstable
+ '[' xovmf = xlinux ']'
+ linuxbranch=
+ '[' x = x ']'
+ qemuubranch=qemu-upstream-unstable
+ select_prevxenbranch
++ ./cri-getprevxenbranch xen-unstable
+ prevxenbranch=xen-4.7-testing
+ '[' x950a3bc788b5b101729b26aed3ff75fd2a64a570 = x ']'
+ : tested/2.6.39.x
+ . ./ap-common
++ : osstest@xenbits.xen.org
+++ getconfig OsstestUpstream
+++ perl -e '
use Osstest;
readglobalconfig();
print $c{"OsstestUpstream"} or die $!;
'
++ :
++ : git://xenbits.xen.org/xen.git
++ : osstest@xenbits.xen.org:/home/xen/git/xen.git
++ : git://xenbits.xen.org/qemu-xen-traditional.git
++ : git://git.kernel.org
++ : git://git.kernel.org/pub/scm/linux/kernel/git
++ : git
++ : git://xenbits.xen.org/libvirt.git
++ : osstest@xenbits.xen.org:/home/xen/git/libvirt.git
++ : git://xenbits.xen.org/libvirt.git
++ : git://xenbits.xen.org/rumpuser-xen.git
++ : git
++ : git://xenbits.xen.org/rumpuser-xen.git
++ : osstest@xenbits.xen.org:/home/xen/git/rumpuser-xen.git
+++ besteffort_repo https://github.com/rumpkernel/rumpkernel-netbsd-src
+++ local repo=https://github.com/rumpkernel/rumpkernel-netbsd-src
+++ cached_repo https://github.com/rumpkernel/rumpkernel-netbsd-src '[fetch=try]'
+++ local repo=https://github.com/rumpkernel/rumpkernel-netbsd-src
+++ local 'options=[fetch=try]'
++++ getconfig GitCacheProxy
++++ perl -e '
use Osstest;
readglobalconfig();
print $c{"GitCacheProxy"} or die $!;
'
+++ local cache=git://cache:9419/
+++ '[' xgit://cache:9419/ '!=' x ']'
+++ echo 'git://cache:9419/https://github.com/rumpkernel/rumpkernel-netbsd-src%20[fetch=try]'
++ : 'git://cache:9419/https://github.com/rumpkernel/rumpkernel-netbsd-src%20[fetch=try]'
++ : git
++ : git://git.seabios.org/seabios.git
++ : osstest@xenbits.xen.org:/home/xen/git/osstest/seabios.git
++ : git://xenbits.xen.org/osstest/seabios.git
++ : https://github.com/tianocore/edk2.git
++ : osstest@xenbits.xen.org:/home/xen/git/osstest/ovmf.git
++ : git://xenbits.xen.org/osstest/ovmf.git
++ : git://xenbits.xen.org/osstest/linux-firmware.git
++ : osstest@xenbits.xen.org:/home/osstest/ext/linux-firmware.git
++ : git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
++ : osstest@xenbits.xen.org:/home/xen/git/linux-pvops.git
++ : git://xenbits.xen.org/linux-pvops.git
++ : tested/linux-3.14
++ : tested/linux-arm-xen
++ '[' xgit://xenbits.xen.org/linux-pvops.git = x ']'
++ '[' x = x ']'
++ : git://xenbits.xen.org/linux-pvops.git
++ : tested/linux-arm-xen
++ : git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
++ : tested/2.6.39.x
++ : daily-cron.ovmf
++ : daily-cron.ovmf
++ : daily-cron.ovmf
++ : daily-cron.ovmf
++ : daily-cron.ovmf
++ : daily-cron.ovmf
++ : http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27
++ : git://xenbits.xen.org/qemu-xen.git
++ : osstest@xenbits.xen.org:/home/xen/git/qemu-xen.git
++ : daily-cron.ovmf
++ : git://xenbits.xen.org/qemu-xen.git
++ : git://git.qemu.org/qemu.git
+ TREE_LINUX=osstest@xenbits.xen.org:/home/xen/git/linux-pvops.git
+ TREE_QEMU_UPSTREAM=osstest@xenbits.xen.org:/home/xen/git/qemu-xen.git
+ TREE_XEN=osstest@xenbits.xen.org:/home/xen/git/xen.git
+ TREE_LIBVIRT=osstest@xenbits.xen.org:/home/xen/git/libvirt.git
+ TREE_RUMPUSERXEN=osstest@xenbits.xen.org:/home/xen/git/rumpuser-xen.git
+ TREE_SEABIOS=osstest@xenbits.xen.org:/home/xen/git/osstest/seabios.git
+ TREE_OVMF=osstest@xenbits.xen.org:/home/xen/git/osstest/ovmf.git
+ info_linux_tree ovmf
+ case $1 in
+ return 1
+ case "$branch" in
+ cd /home/osstest/repos/ovmf
+ git push osstest@xenbits.xen.org:/home/xen/git/osstest/ovmf.git 950a3bc788b5b101729b26aed3ff75fd2a64a570:refs/heads/xen-tested-master
To osstest@xenbits.xen.org:/home/xen/git/osstest/ovmf.git
6c59c7c..950a3bc 950a3bc788b5b101729b26aed3ff75fd2a64a570 -> xen-tested-master
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH] tools/migrate: Prevent PTE truncation from being fatal duing the live phase
2016-09-01 8:47 [ovmf test] 100687: all pass - PUSHED osstest service owner
@ 2016-09-01 9:45 ` Andrew Cooper
2016-09-02 8:30 ` Wei Liu
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Cooper @ 2016-09-01 9:45 UTC (permalink / raw)
To: Xen-devel; +Cc: Andrew Cooper, Ian Jackson, Wei Liu
It is possible, when normalising a PV pagetable that the table has been freed
and reused for something else by the guest.
In such a case, data read might no longer be a pagetable, and fail the
truncation check. However, this should only be fatal if we encounter such a
page in the paused phase.
This check is now consistent with all other checks in the same area.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
This was hit by OSSTest:
http://logs.test-lab.xenproject.org/osstest/logs/100684/test-amd64-i386-xl-raw/16.ts-guest-localmigrate.log
The patch is untested, but the only plausible option given the circumstances.
---
tools/libxc/xc_sr_save_x86_pv.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/tools/libxc/xc_sr_save_x86_pv.c b/tools/libxc/xc_sr_save_x86_pv.c
index 7043409..f218d17 100644
--- a/tools/libxc/xc_sr_save_x86_pv.c
+++ b/tools/libxc/xc_sr_save_x86_pv.c
@@ -949,9 +949,14 @@ static int normalise_pagetable(struct xc_sr_context *ctx, const uint64_t *src,
#ifdef __i386__
if ( mfn == INVALID_MFN )
{
- ERROR("PTE truncation detected. L%lu[%u] = %016"PRIx64,
- type >> XEN_DOMCTL_PFINFO_LTAB_SHIFT, i, pte);
- errno = E2BIG;
+ if ( !ctx->dominfo.paused )
+ errno = EAGAIN;
+ else
+ {
+ ERROR("PTE truncation detected. L%lu[%u] = %016"PRIx64,
+ type >> XEN_DOMCTL_PFINFO_LTAB_SHIFT, i, pte);
+ errno = E2BIG;
+ }
return -1;
}
#endif
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] tools/migrate: Prevent PTE truncation from being fatal duing the live phase
2016-09-01 9:45 ` [PATCH] tools/migrate: Prevent PTE truncation from being fatal duing the live phase Andrew Cooper
@ 2016-09-02 8:30 ` Wei Liu
2016-09-02 8:56 ` Wei Liu
0 siblings, 1 reply; 5+ messages in thread
From: Wei Liu @ 2016-09-02 8:30 UTC (permalink / raw)
To: Andrew Cooper; +Cc: Wei Liu, Ian Jackson, Xen-devel
On Thu, Sep 01, 2016 at 10:45:03AM +0100, Andrew Cooper wrote:
> It is possible, when normalising a PV pagetable that the table has been freed
> and reused for something else by the guest.
>
> In such a case, data read might no longer be a pagetable, and fail the
> truncation check. However, this should only be fatal if we encounter such a
> page in the paused phase.
>
> This check is now consistent with all other checks in the same area.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] tools/migrate: Prevent PTE truncation from being fatal duing the live phase
2016-09-02 8:30 ` Wei Liu
@ 2016-09-02 8:56 ` Wei Liu
2016-09-02 10:54 ` Ian Jackson
0 siblings, 1 reply; 5+ messages in thread
From: Wei Liu @ 2016-09-02 8:56 UTC (permalink / raw)
To: Andrew Cooper; +Cc: Wei Liu, Ian Jackson, Xen-devel
On Fri, Sep 02, 2016 at 09:30:03AM +0100, Wei Liu wrote:
> On Thu, Sep 01, 2016 at 10:45:03AM +0100, Andrew Cooper wrote:
> > It is possible, when normalising a PV pagetable that the table has been freed
> > and reused for something else by the guest.
> >
> > In such a case, data read might no longer be a pagetable, and fail the
> > truncation check. However, this should only be fatal if we encounter such a
> > page in the paused phase.
> >
> > This check is now consistent with all other checks in the same area.
> >
> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Pushed.
Ian, please backport this to Xen 4.6 and 4.7.
Wei.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-09-02 10:54 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-01 8:47 [ovmf test] 100687: all pass - PUSHED osstest service owner
2016-09-01 9:45 ` [PATCH] tools/migrate: Prevent PTE truncation from being fatal duing the live phase Andrew Cooper
2016-09-02 8:30 ` Wei Liu
2016-09-02 8:56 ` Wei Liu
2016-09-02 10:54 ` Ian Jackson
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).