[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to 32 bit |
Date: |
Mon, 5 Sep 2016 15:02:21 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
On 05/09/2016 14:58, P J P wrote:
> +-- On Mon, 5 Sep 2016, Paolo Bonzini wrote --+
> | Without a public spec it's hard, but I guess 2048 is more than enough.
>
> ===
> diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
> index 4245c15..4823b9d 100644
> --- a/hw/scsi/vmw_pvscsi.c
> +++ b/hw/scsi/vmw_pvscsi.c
> @@ -628,17 +628,16 @@ pvscsi_queue_pending_descriptor(PVSCSIState *s,
> SCSIDevice **d,
> static void
> pvscsi_convert_sglist(PVSCSIRequest *r)
> {
> - int chunk_size;
> + int chunk_size, n = 0;
chunk_size should be uint32_t.
> uint64_t data_length = r->req.dataLen;
> PVSCSISGState sg = r->sg;
> - while (data_length) {
> - while (!sg.resid) {
> + while (data_length && n < 2048) {
> + while (!sg.resid && n++ < 2048) {
> pvscsi_get_next_sg_elem(&sg);
> trace_pvscsi_convert_sglist(r->req.context, r->sg.dataAddr,
> r->sg.resid);
> }
> - assert(data_length > 0);
> - chunk_size = MIN((unsigned) data_length, sg.resid);
> + chunk_size = MIN(data_length, sg.resid);
> if (chunk_size) {
> qemu_sglist_add(&r->sgl, sg.dataAddr, chunk_size);
> }
> ===
>
> Does this look okay?
Yes, just change 2048 to a #define PVSCSI_MAX_SG_ELEM.
Paolo
> --
> Prasad J Pandit / Red Hat Product Security Team
> 47AF CE69 3A90 54AA 9045 1053 DD13 3D32 FE5B 041F
>
- [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to 32 bit, P J P, 2016/09/03
- Re: [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to 32 bit, Paolo Bonzini, 2016/09/05
- Re: [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to 32 bit, P J P, 2016/09/05
- Re: [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to 32 bit, Paolo Bonzini, 2016/09/05
- Re: [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to 32 bit, P J P, 2016/09/05
- Re: [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to 32 bit, Paolo Bonzini, 2016/09/05
- Re: [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to 32 bit, P J P, 2016/09/05
- Re: [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to 32 bit,
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH] scsi: pvscsi: request descriptor data_length to 32 bit, P J P, 2016/09/05