flight 140088 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/140088/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 139876

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-amd64-pvgrub  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-i386-migrupgrade   1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-i386  1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win10-i386  1 build-check(1)              blocked n/a
 test-amd64-amd64-xl-qemut-win10-i386  1 build-check(1)             blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-amd64-xl-qemuu-win10-i386  1 build-check(1)             blocked n/a
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-i386-pvgrub  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-i386-examine       1 build-check(1)               blocked  n/a
 test-amd64-i386-livepatch     1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-i386-xl-raw        1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked 
n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-win10-i386  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-armhf-armhf-libvirt     14 saverestore-support-check    fail  like 139876
 test-armhf-armhf-libvirt-raw 13 saverestore-support-check    fail  like 139876
 test-arm64-arm64-xl-seattle  13 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  14 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  13 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-arm64-arm64-xl-credit2  13 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  14 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          13 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          14 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 13 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 14 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      13 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      14 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 13 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 14 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  13 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 13 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 14 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 13 migrate-support-check        fail  never pass
 test-armhf-armhf-xl          13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 14 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          14 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      12 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      13 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 12 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  24575e2c1b39d3f2c148d69bb1a87ca2ef2c6395
baseline version:
 xen                  6c9639a72f0ca3a9430ef75f375877182281fdef

Last test of basis   139876  2019-08-09 18:46:56 Z    4 days
Failing since        139915  2019-08-10 20:44:23 Z    3 days    5 attempts
Testing same since   140088  2019-08-14 00:36:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.coop...@citrix.com>
  David Woodhouse <d...@amazon.co.uk>
  Jan Beulich <jbeul...@suse.com>
  Julien Grall <julien.gr...@arm.com>
  Stefano Stabellini <sstabell...@kernel.org>
  Stefano Stabellini <stefa...@xilinx.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-freebsd10-amd64                              blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      blocked 
 test-amd64-i386-freebsd10-i386                               blocked 
 test-amd64-amd64-xl-qemut-win10-i386                         blocked 
 test-amd64-i386-xl-qemut-win10-i386                          blocked 
 test-amd64-amd64-xl-qemuu-win10-i386                         blocked 
 test-amd64-i386-xl-qemuu-win10-i386                          blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-i386-livepatch                                    blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-i386-migrupgrade                                  blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-amd64-pvgrub                                blocked 
 test-amd64-amd64-i386-pvgrub                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-xl-vhd                                      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


Not pushing.

------------------------------------------------------------
commit 24575e2c1b39d3f2c148d69bb1a87ca2ef2c6395
Author: David Woodhouse <d...@amazon.co.uk>
Date:   Tue Aug 13 18:28:39 2019 +0100

    x86/boot: Remove gratuitous call back into low-memory code
    
    We appear to have implemented a memcpy() in the low-memory trampoline
    which we then call into from __start_xen(), for no adequately defined
    reason.
    
    Kill it with fire.
    
    Signed-off-by: David Woodhouse <d...@amazon.co.uk>
    Acked-by: Andrew Cooper <andrew.coop...@citrix.com>

commit 6a4a62534853b4d20b44990e0d56c665b1ff55ae
Author: Andrew Cooper <andrew.coop...@citrix.com>
Date:   Tue Jul 30 15:19:04 2019 +0100

    x86/vvmx: Fix nested virt on VMCS-Shadow capable hardware
    
    c/s e9986b0dd "x86/vvmx: Simplify per-CPU memory allocations" had the wrong
    indirection on its pointer check in nvmx_cpu_up_prepare(), causing the
    VMCS-shadowing buffer never be allocated.  Fix it.
    
    This in turn results in a massive quantity of logspam, as every virtual
    vmentry/exit hits both gdprintk()s in the *_bulk() functions.
    
    Switch these to using printk_once(), but still only in debug builds.  The 
size
    of the buffer is chosen at compile time, so complaining about it repeatedly 
is
    of no benefit.
    
    Finally, drop the runtime NULL pointer checks.  It is not terribly 
appropriate
    to be repeatedly checking infrastructure which is set up from start-of-day,
    and in this case, actually hid the above bug.
    
    Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
    Reviewed-by: Jan Beulich <jbeul...@suse.com>

commit 3214c0220f39d3615dd7e0d4d4336e778c0c0780
Author: Andrew Cooper <andrew.coop...@citrix.com>
Date:   Wed Nov 21 13:50:21 2018 +0000

    x86/atomic: Improvements and simplifications to assembly constraints
    
     * Constraints in the form "=r" (x) : "0" (x) can be folded to just "+r" (x)
     * Switch to using named parameters (mostly for legibility) which in
       particular helps with...
     * __xchg(), __cmpxchg() and __cmpxchg_user() modify their memory operand, 
so
       must list it as an output operand.  This only works because they each 
have
       a memory clobber to give the construct full compiler-barrier properties.
     * Every memory operand has an explicit known size.  Letting the compiler 
see
       the real size rather than obscuring it with __xg() allows for the removal
       of the instruction size suffixes without introducing ambiguity.
     * Drop semicolons after lock prefixes.
     * Other misc style changes.
    
    Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
    Reviewed-by: Jan Beulich <jbeul...@suse.com>

commit 3fda2214f1a7ff972427812e50dc6f1f61cf594f
Author: Andrew Cooper <andrew.coop...@citrix.com>
Date:   Fri Jul 26 19:48:48 2019 +0100

    xen/percpu: Make DECLARE_PER_CPU() and __DEFINE_PER_CPU() common
    
    These macros are identical across the architectures, and shouldn't be 
separate
    from the DEFINE_PER_CPU*() infrastructure.
    
    This converts the final asm/percpu.h includes, which were all using
    DECLARE_PER_CPU(), to include xen/percpu.h instead.
    
    Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
    Acked-by: Julien Grall <julien.gr...@arm.com>
    Reviewed-by: Roger Pau Monné <roger....@citrix.com>

commit 7888440625617693487495a7842e6a991ead2647
Author: Jan Beulich <jbeul...@suse.com>
Date:   Fri Aug 9 14:16:06 2019 +0100

    x86/xpti: Don't leak TSS-adjacent percpu data via Meltdown
    
    The XPTI work restricted the visibility of most of memory, but missed a few
    aspects when it came to the TSS.
    
    Given that the TSS is just an object in percpu data, the 4k mapping for it
    created in setup_cpu_root_pgt() maps adjacent percpu data, making it all
    leakable via Meltdown, even when XPTI is in use.
    
    Furthermore, no care is taken to check that the TSS doesn't cross a page
    boundary.  As it turns out, struct tss_struct is aligned on its size which
    does prevent it straddling a page boundary.
    
    Rework the TSS types while making this change.  Rename tss_struct to tss64, 
to
    mirror the existing tss32 structure we have in HVM's Tast Switch logic.  
Drop
    tss64's alignment and __cacheline_filler[] field.
    
    Introduce tss_page which contains a single tss64 and keeps the rest of the
    page clear, so no adjacent data can be leaked.  Move the definition from
    setup.c to traps.c, which is a more appropriate place for it to live.
    
    Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
    Signed-off-by: Jan Beulich <jbeul...@suse.com>

commit b6b5608b6027fd62ce565ecd72a3422c1223beaf
Author: Andrew Cooper <andrew.coop...@citrix.com>
Date:   Fri Aug 9 13:25:10 2019 +0100

    x86/desc: Drop __HYPERVISOR_CS32
    
    Xen, being 64bit only these days, does not use a 32bit Ring 0 code segment.
    
    Delete __HYPERVISOR_CS32 and remove it from the GDTs.  Also delete
    __HYPERVISOR_CS64 and use __HYPERVISOR_CS uniformly.
    
    Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
    Acked-by: Jan Beulich <jbeul...@suse.com>

commit 60685089cb0ce4f3e1873c5e81f6ed3b77a492b2
Author: Andrew Cooper <andrew.coop...@citrix.com>
Date:   Mon Aug 12 09:17:01 2019 +0200

    x86/desc: Build boot_{,compat_}gdt[] in C
    
    ... where we can at least get the compiler to fill in the surrounding space
    without having to do it manually.  This also results in the symbols having
    proper type/size information in the debug symbols.
    
    Reorder 'raw' in the seg_desc_t union to allow for easier initialisation.
    
    Leave a comment explaining the various restrictions we have on altering the
    GDT layout.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
    
    Introduce SEL2GDT(). Correct GDT indices in public header comments.
    
    Signed-off-by: Jan Beulich <jbeul...@suse.com>
    Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com>

commit 762b9a2d990bba1f3aefe660cff0c37ad2e375bc
Author: Julien Grall <julien.gr...@arm.com>
Date:   Fri Aug 9 13:14:40 2019 +0100

    xen/page_alloc: Keep away MFN 0 from the buddy allocator
    
    Combining of buddies happens only such that the resulting larger buddy
    is still order-aligned. To cross a zone boundary while merging, the
    implication is that both the buddy [0, 2^n-1] and the buddy
    [2^n, 2^(n+1)-1] are free.
    
    Ideally we want to fix the allocator, but for now we can just prevent
    adding the MFN 0 in the allocator to avoid merging across zone
    boundaries.
    
    On x86, the MFN 0 is already kept away from the buddy allocator. So the
    bug can only happen on Arm platform where the first memory bank is
    starting at 0.
    
    As this is a specific to the allocator, the MFN 0 is removed in the common 
code
    to cater all the architectures (current and future).
    
    [Stefano: improve commit message]
    
    Reported-by: Jeff Kubascik <jeff.kubas...@dornerworks.com>
    Signed-off-by: Julien Grall <julien.gr...@arm.com>
    Reviewed-by: Jan Beulich <jbeul...@suse.com>
    Acked-by: Stefano Stabellini <sstabell...@kernel.org>
    Tested-by: Stefano Stabellini <sstabell...@kernel.org>
    Signed-off-by: Stefano Stabellini <stefa...@xilinx.com>
(qemu changes not included)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to