[Qemu-devel] [PATCH] iSCSI fix crash when using virtio and libiscsi V3

2013-06-23 Thread Ronnie Sahlberg
List,

Please find a new version of the patch to fix the iSCSI crash when ioctl with 
iovector is sent.

Updated to fix the commit message as per lerseks suggestion.
Also added an explicit cast to suppress a compiler warning when we dont have 
iovector support available.





[Qemu-devel] [PATCH] iSCSI fix crash when using virtio and libiscsi V2

2013-06-21 Thread Ronnie Sahlberg
List,

Version 2 of patch to fix the crashbug for virtio and libiscsi

Make block/iscsi.c aware that we might be called not with ioh containing a 
buffer
for the data but that it might contain an array of io vectors.



Updated to check LIBISCSI_FEATURE_IOVECTOR wether we can use iovectors or not.
If not we fall back to either lots of datain buffers or a serialization dataout 
buffer.

regards
ronnie sahlberg




Re: [Qemu-devel] [PATCH] iSCSI fix crash when using virtio and libiscsi

2013-06-21 Thread ronnie sahlberg
I can add the checks and resubmit.

On Fri, Jun 21, 2013 at 12:38 AM, Paolo Bonzini  wrote:
> Il 21/06/2013 04:32, Ronnie Sahlberg ha scritto:
>> Stefan, List
>>
>> Please find a patch that fixes the crashes for using virtio with libiscsi.
>> The problem was that block/iscsi.c always assumed we got a plain buffer to 
>> read data into, and when we got an iovector array instead we would overwrite 
>> pointers with garbage and crash.
>>
>> Since we can get iovectors for the write case as well I have added a fix for 
>> when the guest is writing data to the target to handle the iovector case as 
>> well.
>>
>>
>> The new calls added are not protected with (LIBISCSI_FEATURE_IOVECTOR) checks
>> since anyone building a new/current version of qemu should probably also 
>> build
>> against a current libiscsi.
>
> Not necessarily, you may build against an older libiscsi from the distro.
>
> Can you resubmit with the checks intact?
>
> Paolo
>
>> I will send patches later to remove the current (LIBISCSI_FEATURE_IOVECTOR) 
>> checks in the rest of the file.
>



Re: [Qemu-devel] [PATCH] iSCSI fix crash when using virtio and libiscsi

2013-06-21 Thread Paolo Bonzini
Il 21/06/2013 04:32, Ronnie Sahlberg ha scritto:
> Stefan, List
> 
> Please find a patch that fixes the crashes for using virtio with libiscsi.
> The problem was that block/iscsi.c always assumed we got a plain buffer to 
> read data into, and when we got an iovector array instead we would overwrite 
> pointers with garbage and crash.
> 
> Since we can get iovectors for the write case as well I have added a fix for 
> when the guest is writing data to the target to handle the iovector case as 
> well.
> 
> 
> The new calls added are not protected with (LIBISCSI_FEATURE_IOVECTOR) checks
> since anyone building a new/current version of qemu should probably also build
> against a current libiscsi.

Not necessarily, you may build against an older libiscsi from the distro.

Can you resubmit with the checks intact?

Paolo

> I will send patches later to remove the current (LIBISCSI_FEATURE_IOVECTOR) 
> checks in the rest of the file.




[Qemu-devel] [PATCH] iSCSI fix crash when using virtio and libiscsi

2013-06-20 Thread Ronnie Sahlberg
Stefan, List

Please find a patch that fixes the crashes for using virtio with libiscsi.
The problem was that block/iscsi.c always assumed we got a plain buffer to read 
data into, and when we got an iovector array instead we would overwrite 
pointers with garbage and crash.

Since we can get iovectors for the write case as well I have added a fix for 
when the guest is writing data to the target to handle the iovector case as 
well.


The new calls added are not protected with (LIBISCSI_FEATURE_IOVECTOR) checks
since anyone building a new/current version of qemu should probably also build
against a current libiscsi.
I will send patches later to remove the current (LIBISCSI_FEATURE_IOVECTOR) 
checks in the rest of the file.


regards
ronnie sahlberg