[PATCH] virtio-pmem: fix virtio_pmem_resp assign problem

wangliangzz@126.com posted 1 patch 4 years, 8 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210317024145.271212-1-wangliangzz@126.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>
hw/virtio/virtio-pmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] virtio-pmem: fix virtio_pmem_resp assign problem
Posted by wangliangzz@126.com 4 years, 8 months ago
From: Wang Liang <wangliangzz@inspur.com>

ret in virtio_pmem_resp is a uint32_t variable, which should be assigned
using virtio_stl_p.

The kernel side driver does not guarantee virtio_pmem_resp to be initialized
to zero in advance, So sometimes the flush operation will fail.

Signed-off-by: Wang Liang <wangliangzz@inspur.com>
---
 hw/virtio/virtio-pmem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c
index a3e0688a89..d1aeb90a31 100644
--- a/hw/virtio/virtio-pmem.c
+++ b/hw/virtio/virtio-pmem.c
@@ -47,7 +47,7 @@ static int worker_cb(void *opaque)
         err = 1;
     }
 
-    virtio_stw_p(req_data->vdev, &req_data->resp.ret, err);
+    virtio_stl_p(req_data->vdev, &req_data->resp.ret, err);
 
     return 0;
 }
-- 
2.27.0


Re: [PATCH] virtio-pmem: fix virtio_pmem_resp assign problem
Posted by Stefano Garzarella 4 years, 8 months ago
On Tue, Mar 16, 2021 at 10:41:45PM -0400, wangliangzz@126.com wrote:
>From: Wang Liang <wangliangzz@inspur.com>
>
>ret in virtio_pmem_resp is a uint32_t variable, which should be assigned
>using virtio_stl_p.
>
>The kernel side driver does not guarantee virtio_pmem_resp to be initialized
>to zero in advance, So sometimes the flush operation will fail.
>
>Signed-off-by: Wang Liang <wangliangzz@inspur.com>
>---
> hw/virtio/virtio-pmem.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>


Re: [PATCH] virtio-pmem: fix virtio_pmem_resp assign problem
Posted by Pankaj Gupta 4 years, 8 months ago
> ret in virtio_pmem_resp is a uint32_t variable, which should be assigned
> using virtio_stl_p.
>
> The kernel side driver does not guarantee virtio_pmem_resp to be initialized
> to zero in advance, So sometimes the flush operation will fail.
>
> Signed-off-by: Wang Liang <wangliangzz@inspur.com>
> ---
>  hw/virtio/virtio-pmem.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c
> index a3e0688a89..d1aeb90a31 100644
> --- a/hw/virtio/virtio-pmem.c
> +++ b/hw/virtio/virtio-pmem.c
> @@ -47,7 +47,7 @@ static int worker_cb(void *opaque)
>          err = 1;
>      }
>
> -    virtio_stw_p(req_data->vdev, &req_data->resp.ret, err);
> +    virtio_stl_p(req_data->vdev, &req_data->resp.ret, err);
>
>      return 0;
>  }

Thanks!
Reviewed-by: Pankaj Gupta <pankaj.gupta@cloud.ionos.com>

Re: [PATCH] virtio-pmem: fix virtio_pmem_resp assign problem
Posted by David Hildenbrand 4 years, 8 months ago
On 17.03.21 03:41, wangliangzz@126.com wrote:
> From: Wang Liang <wangliangzz@inspur.com>
> 
> ret in virtio_pmem_resp is a uint32_t variable, which should be assigned
> using virtio_stl_p.
> 
> The kernel side driver does not guarantee virtio_pmem_resp to be initialized
> to zero in advance, So sometimes the flush operation will fail.
> 
> Signed-off-by: Wang Liang <wangliangzz@inspur.com>
> ---
>   hw/virtio/virtio-pmem.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c
> index a3e0688a89..d1aeb90a31 100644
> --- a/hw/virtio/virtio-pmem.c
> +++ b/hw/virtio/virtio-pmem.c
> @@ -47,7 +47,7 @@ static int worker_cb(void *opaque)
>           err = 1;
>       }
>   
> -    virtio_stw_p(req_data->vdev, &req_data->resp.ret, err);
> +    virtio_stl_p(req_data->vdev, &req_data->resp.ret, err);
>   
>       return 0;
>   }
> 

Reviewed-by: David Hildenbrand <david@redhat.com>

-- 
Thanks,

David / dhildenb