Il 21/11/2013 20:47, Vlad Yasevich ha scritto: > On 11/11/2013 02:50 AM, Paolo Bonzini wrote: >> Il 11/11/2013 06:18, Jason Wang ha scritto: >>> On 11/08/2013 10:13 AM, Vlad Yasevich wrote: >>>> It is currently possible to specify things like: >>>> -device e1000,netdev=foo,vlan=1 >>>> With this usage, whichever argument was specified last (vlan or netdev) >>>> overwrites what was previousely set and results in a non-working >>>> configuration. Even worse, when used with multiqueue devices, >>>> it causes a segmentation fault on exit in qemu_free_net_client. >>>> >>>> That patch treates the above command line options as invalid and >>>> generates an error at start-up. >>>> >>>> Signed-off-by: Vlad Yasevich <vyase...@redhat.com> >>>> --- >>>> hw/core/qdev-properties-system.c | 9 +++++++++ >>>> 1 file changed, 9 insertions(+) >>>> >>>> diff --git a/hw/core/qdev-properties-system.c >>>> b/hw/core/qdev-properties-system.c >>>> index 0eada32..729efa8 100644 >>>> --- a/hw/core/qdev-properties-system.c >>>> +++ b/hw/core/qdev-properties-system.c >>>> @@ -205,6 +205,11 @@ static int parse_netdev(DeviceState *dev, const char >>>> *str, void **ptr) >>>> goto err; >>>> } >>>> >>>> + if (ncs[i]) { >>>> + ret = -EINVAL; >>>> + goto err; >>>> + } >>>> + >>>> ncs[i] = peers[i]; >>>> ncs[i]->queue_index = i; >>>> } >>>> @@ -301,6 +306,10 @@ static void set_vlan(Object *obj, Visitor *v, void >>>> *opaque, >>>> *ptr = NULL; >>>> return; >>>> } >>>> + if (*ptr) { >>>> + error_set_from_qdev_prop_error(errp, -EINVAL, dev, prop, name); >>>> + return; >>>> + } >>>> >>>> hubport = net_hub_port_find(id); >>>> if (!hubport) { >>> >>> Acked-by: Jason Wang <jasow...@redhat.com> >> >> This patch is good for 1.7. >> >> Paolo >> > > Hi All > > Just wondering what's to become of this patch? It has an ACK, but has > been abandoned. It does a fix a crash in qemu.
I missed this when going through pending patches. Stefan, are you picking it up? Paolo