Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:Update
xen.6114
59f31268-libxc-remove-stale-error-check-for-dom...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 59f31268-libxc-remove-stale-error-check-for-domain-size.patch of Package xen.6114
Subject: libxc: remove stale error check for domain size in xc_sr_save_x86_hvm.c From: Juergen Gross jgross@suse.com Tue Sep 26 14:02:56 2017 +0200 Date: Fri Oct 27 12:03:04 2017 +0100: Git: 26a896cde21c6d03de367190034fcc150b1bf2d8 Long ago domains to be saved were limited to 1TB size due to the migration stream v1 limitations which used a 32 bit value for the PFN and the frame type (4 bits) leaving only 28 bits for the PFN. Migration stream V2 uses a 64 bit value for this purpose, so there is no need to refuse saving (or migrating) domains larger than 1 TB. For 32 bit toolstacks there is still a size limit, as domains larger than about 1TB will lead to an exhausted virtual address space of the saving process. So keep the test for 32 bit, but don't base it on the page type macros. As a migration could lead to the situation where a 32 bit toolstack would have to handle such a large domain (in case the sending side is 64 bit) the same test should be added for restoring a domain. Signed-off-by: Juergen Gross <jgross@suse.com> Acked-by: Wei Liu <wei.liu2@citrix.com> Release-acked-by: Julien Grall <julien.grall@linaro.org> Index: xen-4.7.3-testing/tools/libxc/xc_sr_restore_x86_hvm.c =================================================================== --- xen-4.7.3-testing.orig/tools/libxc/xc_sr_restore_x86_hvm.c +++ xen-4.7.3-testing/tools/libxc/xc_sr_restore_x86_hvm.c @@ -148,6 +148,15 @@ static int x86_hvm_setup(struct xc_sr_co ctx->restore.guest_page_size); return -1; } +#ifdef __i386__ + /* Very large domains (> 1TB) will exhaust virtual address space. */ + if ( ctx->restore.p2m_size > 0x0fffffff ) + { + errno = E2BIG; + PERROR("Cannot restore this big a guest"); + return -1; + } +#endif return 0; } Index: xen-4.7.3-testing/tools/libxc/xc_sr_save_x86_hvm.c =================================================================== --- xen-4.7.3-testing.orig/tools/libxc/xc_sr_save_x86_hvm.c +++ xen-4.7.3-testing/tools/libxc/xc_sr_save_x86_hvm.c @@ -143,12 +143,15 @@ static int x86_hvm_setup(struct xc_sr_co PERROR("Unable to obtain the guest p2m size"); return -1; } - if ( nr_pfns > ~XEN_DOMCTL_PFINFO_LTAB_MASK ) +#ifdef __i386__ + /* Very large domains (> 1TB) will exhaust virtual address space. */ + if ( nr_pfns > 0x0fffffff ) { errno = E2BIG; PERROR("Cannot save this big a guest"); return -1; } +#endif ctx->save.p2m_size = nr_pfns;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor