diff mbox series

[net-next] vringh: fix copy direction of vringh_iov_push_kern()

Message ID 20191024035718.7690-1-jasowang@redhat.com (mailing list archive)
State New, archived
Headers show
Series [net-next] vringh: fix copy direction of vringh_iov_push_kern() | expand

Commit Message

Jason Wang Oct. 24, 2019, 3:57 a.m. UTC
We want to copy from iov to buf, so the direction was wrong.

Note: no real user for the helper, but it will be used by future
features.

Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 drivers/vhost/vringh.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Michael S. Tsirkin Oct. 27, 2019, 10:04 a.m. UTC | #1
On Thu, Oct 24, 2019 at 11:57:18AM +0800, Jason Wang wrote:
> We want to copy from iov to buf, so the direction was wrong.
> 
> Note: no real user for the helper, but it will be used by future
> features.
> 
> Signed-off-by: Jason Wang <jasowang@redhat.com>

I'm still inclined to merge it now, incorrect code tends to
proliferate.

> ---
>  drivers/vhost/vringh.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c
> index 08ad0d1f0476..a0a2d74967ef 100644
> --- a/drivers/vhost/vringh.c
> +++ b/drivers/vhost/vringh.c
> @@ -852,6 +852,12 @@ static inline int xfer_kern(void *src, void *dst, size_t len)
>  	return 0;
>  }
>  
> +static inline int kern_xfer(void *dst, void *src, size_t len)
> +{
> +	memcpy(dst, src, len);
> +	return 0;
> +}
> +
>  /**
>   * vringh_init_kern - initialize a vringh for a kernelspace vring.
>   * @vrh: the vringh to initialize.
> @@ -958,7 +964,7 @@ EXPORT_SYMBOL(vringh_iov_pull_kern);
>  ssize_t vringh_iov_push_kern(struct vringh_kiov *wiov,
>  			     const void *src, size_t len)
>  {
> -	return vringh_iov_xfer(wiov, (void *)src, len, xfer_kern);
> +	return vringh_iov_xfer(wiov, (void *)src, len, kern_xfer);
>  }
>  EXPORT_SYMBOL(vringh_iov_push_kern);
>  
> -- 
> 2.19.1
Jason Wang Oct. 28, 2019, 3:52 a.m. UTC | #2
On 2019/10/27 下午6:04, Michael S. Tsirkin wrote:
> On Thu, Oct 24, 2019 at 11:57:18AM +0800, Jason Wang wrote:
>> We want to copy from iov to buf, so the direction was wrong.
>>
>> Note: no real user for the helper, but it will be used by future
>> features.
>>
>> Signed-off-by: Jason Wang <jasowang@redhat.com>
> I'm still inclined to merge it now, incorrect code tends to
> proliferate.


I'm fine with this, so I believe you will merge this patch?

Thanks


>
>> ---
>>   drivers/vhost/vringh.c | 8 +++++++-
>>   1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c
>> index 08ad0d1f0476..a0a2d74967ef 100644
>> --- a/drivers/vhost/vringh.c
>> +++ b/drivers/vhost/vringh.c
>> @@ -852,6 +852,12 @@ static inline int xfer_kern(void *src, void *dst, size_t len)
>>   	return 0;
>>   }
>>   
>> +static inline int kern_xfer(void *dst, void *src, size_t len)
>> +{
>> +	memcpy(dst, src, len);
>> +	return 0;
>> +}
>> +
>>   /**
>>    * vringh_init_kern - initialize a vringh for a kernelspace vring.
>>    * @vrh: the vringh to initialize.
>> @@ -958,7 +964,7 @@ EXPORT_SYMBOL(vringh_iov_pull_kern);
>>   ssize_t vringh_iov_push_kern(struct vringh_kiov *wiov,
>>   			     const void *src, size_t len)
>>   {
>> -	return vringh_iov_xfer(wiov, (void *)src, len, xfer_kern);
>> +	return vringh_iov_xfer(wiov, (void *)src, len, kern_xfer);
>>   }
>>   EXPORT_SYMBOL(vringh_iov_push_kern);
>>   
>> -- 
>> 2.19.1
diff mbox series

Patch

diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c
index 08ad0d1f0476..a0a2d74967ef 100644
--- a/drivers/vhost/vringh.c
+++ b/drivers/vhost/vringh.c
@@ -852,6 +852,12 @@  static inline int xfer_kern(void *src, void *dst, size_t len)
 	return 0;
 }
 
+static inline int kern_xfer(void *dst, void *src, size_t len)
+{
+	memcpy(dst, src, len);
+	return 0;
+}
+
 /**
  * vringh_init_kern - initialize a vringh for a kernelspace vring.
  * @vrh: the vringh to initialize.
@@ -958,7 +964,7 @@  EXPORT_SYMBOL(vringh_iov_pull_kern);
 ssize_t vringh_iov_push_kern(struct vringh_kiov *wiov,
 			     const void *src, size_t len)
 {
-	return vringh_iov_xfer(wiov, (void *)src, len, xfer_kern);
+	return vringh_iov_xfer(wiov, (void *)src, len, kern_xfer);
 }
 EXPORT_SYMBOL(vringh_iov_push_kern);