On 04/28/2013 04:31 PM, Michael S. Tsirkin wrote:
> On Fri, Apr 26, 2013 at 04:34:04PM +0800, Jason Wang wrote:
>> virtio-rng-s390 has zero config length, so no need to sync its config 
>> otherwise
>> qemu will crash since vdev->config is NULL.
>>
>> Cc: Alexander Graf <ag...@suse.de>
>> Cc: Richard Henderson <r...@twiddle.net>
>> Signed-off-by: Jason Wang <jasow...@redhat.com>
> Actully, it validates get_config so what's the problem here?

Yes, but the it will also pass vdev->config(NULL) to
cpu_physical_memory_write(),  but since the length is zero, we manage to
survive here. I will drop this patch then.
>> ---
>>  hw/s390x/s390-virtio-bus.c |    4 ++++
>>  1 files changed, 4 insertions(+), 0 deletions(-)
>>
>> diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
>> index dabbc2e..0f83516 100644
>> --- a/hw/s390x/s390-virtio-bus.c
>> +++ b/hw/s390x/s390-virtio-bus.c
>> @@ -350,6 +350,10 @@ void s390_virtio_device_sync(VirtIOS390Device *dev)
>>      dev->feat_offs = cur_offs + dev->feat_len;
>>      cur_offs += dev->feat_len * 2;
>>  
>> +    if (!dev->vdev->config_len) {
>> +        return;
>> +    }
>> +
>>      /* Sync config space */
>>      if (dev->vdev->get_config) {
>>          dev->vdev->get_config(dev->vdev, dev->vdev->config);
>> -- 
>> 1.7.1


Reply via email to