You need to sign in or sign up before continuing.
  • P
    qemu: Prevent storage causing too much nested XML · 510d154a
    Peter Krempa 提交于
    Since libvirt stores the backing chain into the XML in a nested way it
    is the prime possibility to hit libxml2's parsing limit of 256 layers.
    
    Introduce code which will crawl the backing chain and verify that it's
    not too deep. The maximum nesting is set to 200 layers so that there's
    still some space left for additional properties or nesting into snapshot
    XMLs.
    
    The check is applied to all disk use cases (starting, hotplug, media
    change) as well as block copy which changes image and snapshots.
    
    We simply report an error and refuse the operation.
    
    Without this check a restart of libvirtd would result in the status XML
    failing to be parsed and thus losing the VM.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1524278Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
    Reviewed-by: NJán Tomko <jtomko@redhat.com>
    510d154a
qemu_driver.c 746.1 KB