[libvirt] [PATCH] Add test for the nodemask double free crash

Daniel P. Berrange berrange at redhat.com
Wed Sep 11 11:17:40 UTC 2013


On Wed, Sep 11, 2013 at 10:58:53AM +0200, Ján Tomko wrote:
> Commit ef5d51d fixed a crash for numatune with auto placement and
> nodeset specified:
> <numatune>
>     <memory mode='preferred' placement='auto' nodeset='0'/>
> </numatune>
> ---
>  ...qemuxml2argv-numatune-auto-nodeset-invalid.args |  4 +++
>  .../qemuxml2argv-numatune-auto-nodeset-invalid.xml | 31 ++++++++++++++++++++++
>  tests/qemuxml2argvtest.c                           |  1 +
>  3 files changed, 36 insertions(+)
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.xml
> 
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args b/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args
> new file mode 100644
> index 0000000..1b440d9
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args
> @@ -0,0 +1,4 @@
> +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
> +/usr/bin/qemu -S -M pc -m 214 -smp 2 -nographic \
> +-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb \
> +-hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.xml b/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.xml
> new file mode 100644
> index 0000000..d2315b4
> --- /dev/null
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.xml
> @@ -0,0 +1,31 @@
> +<domain type='qemu'>
> +  <name>QEMUGuest1</name>
> +  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
> +  <memory unit='KiB'>219136</memory>
> +  <currentMemory unit='KiB'>219136</currentMemory>
> +  <vcpu placement='static' cpuset='0-1'>2</vcpu>
> +  <numatune>
> +    <memory mode='preferred' placement='auto' nodeset="0-5,^4"/>
> +  </numatune>
> +  <os>
> +    <type arch='i686' machine='pc'>hvm</type>
> +    <boot dev='hd'/>
> +  </os>
> +  <cpu>
> +    <topology sockets='2' cores='1' threads='1'/>
> +  </cpu>
> +  <clock offset='utc'/>
> +  <on_poweroff>destroy</on_poweroff>
> +  <on_reboot>restart</on_reboot>
> +  <on_crash>destroy</on_crash>
> +  <devices>
> +    <emulator>/usr/bin/qemu</emulator>
> +    <disk type='block' device='disk'>
> +      <source dev='/dev/HostVG/QEMUGuest1'/>
> +      <target dev='hda' bus='ide'/>
> +      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
> +    </disk>
> +    <controller type='ide' index='0'/>
> +    <memballoon model='virtio'/>
> +  </devices>
> +</domain>
> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
> index 15d3095..fdf1d31 100644
> --- a/tests/qemuxml2argvtest.c
> +++ b/tests/qemuxml2argvtest.c
> @@ -910,6 +910,7 @@ mymain(void)
>      DO_TEST("blkiotune-device", QEMU_CAPS_NAME);
>      DO_TEST("cputune", QEMU_CAPS_NAME);
>      DO_TEST("numatune-memory", NONE);
> +    DO_TEST("numatune-auto-nodeset-invalid", NONE);
>      DO_TEST("numad", NONE);
>      DO_TEST("numad-auto-vcpu-static-numatune", NONE);
>      DO_TEST("numad-auto-memory-vcpu-cpuset", NONE);

ACK


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list