Re: [PATCH 4/5] tcm_vhost: fix iov array offset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Il 18/04/2012 09:06, zwu.kernel@xxxxxxxxx ha scritto:
> @@ -340,7 +340,7 @@ static void vhost_scsi_handle_vq(struct vhost_scsi *vs)
>  		}
>  
>  		exp_data_len = 0;
> -		for (i = 2; i < out + in - 1; i++) {
> +		for (i = 2; i < out + in; i++) {
>  			exp_data_len += vq->iov[i].iov_len;
>  		}
>  

This counts the iov[out] element as part of the data.  Should be
something like this instead:

 #warning FIXME: BIDI operation
    if (in > 1) {
	data_first = out + 1;
	data_num = in - 1;
    } else {
        data_first = 1;
	data_num = out - 1;
    }

    for (i = 0; i < data_num; i++) {
	exp_data_len += vq->iov[data_first + i].iov_len;
    }

> -			ret = vhost_scsi_map_iov_to_sgl(tv_cmd, &vq->iov[2],
> -					out + in - 3, data_direction == DMA_TO_DEVICE);
> +			ret = vhost_scsi_map_iov_to_sgl(tv_cmd, &vq->iov[0],
> +					out + in, data_direction == DMA_TO_DEVICE);

This also looks strange... looks like this should also use something
like data_first/data_num.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux