Message ID | 20200813165125.59928-1-liq3ea@163.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw: virtio-pmem: detach the element fromt the virtqueue when error occurs | expand |
> If error occurs while processing the virtio request we should call > 'virtqueue_detach_element' to detach the element from the virtqueue > before free the elem. > > Signed-off-by: Li Qiang <liq3ea@163.com> > --- > hw/virtio/virtio-pmem.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c > index 1e0c137497..ddb0125901 100644 > --- a/hw/virtio/virtio-pmem.c > +++ b/hw/virtio/virtio-pmem.c > @@ -77,6 +77,7 @@ static void virtio_pmem_flush(VirtIODevice *vdev, VirtQueue *vq) > > if (req_data->elem.out_num < 1 || req_data->elem.in_num < 1) { > virtio_error(vdev, "virtio-pmem request not proper"); > + virtqueue_detach_element(vq, (VirtQueueElement *)req_data, 0); > g_free(req_data); > return; > } > -- Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com> > 2.17.1 > >
Kindly ping. Li Qiang <liq3ea@163.com> 于2020年8月14日周五 上午12:52写道: > > If error occurs while processing the virtio request we should call > 'virtqueue_detach_element' to detach the element from the virtqueue > before free the elem. > > Signed-off-by: Li Qiang <liq3ea@163.com> > --- > hw/virtio/virtio-pmem.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c > index 1e0c137497..ddb0125901 100644 > --- a/hw/virtio/virtio-pmem.c > +++ b/hw/virtio/virtio-pmem.c > @@ -77,6 +77,7 @@ static void virtio_pmem_flush(VirtIODevice *vdev, VirtQueue *vq) > > if (req_data->elem.out_num < 1 || req_data->elem.in_num < 1) { > virtio_error(vdev, "virtio-pmem request not proper"); > + virtqueue_detach_element(vq, (VirtQueueElement *)req_data, 0); > g_free(req_data); > return; > } > -- > 2.17.1 > >
ping! Li Qiang <liq3ea@gmail.com> 于2020年8月28日周五 上午9:21写道: > > Kindly ping. > > Li Qiang <liq3ea@163.com> 于2020年8月14日周五 上午12:52写道: > > > > If error occurs while processing the virtio request we should call > > 'virtqueue_detach_element' to detach the element from the virtqueue > > before free the elem. > > > > Signed-off-by: Li Qiang <liq3ea@163.com> > > --- > > hw/virtio/virtio-pmem.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c > > index 1e0c137497..ddb0125901 100644 > > --- a/hw/virtio/virtio-pmem.c > > +++ b/hw/virtio/virtio-pmem.c > > @@ -77,6 +77,7 @@ static void virtio_pmem_flush(VirtIODevice *vdev, VirtQueue *vq) > > > > if (req_data->elem.out_num < 1 || req_data->elem.in_num < 1) { > > virtio_error(vdev, "virtio-pmem request not proper"); > > + virtqueue_detach_element(vq, (VirtQueueElement *)req_data, 0); > > g_free(req_data); > > return; > > } > > -- > > 2.17.1 > > > >
Hi Michael, Please add while applying the patch. fixes: 5f503cd9f3 ("virtio-pmem: add virtio device") On Mon, 7 Sep 2020 at 03:38, Li Qiang <liq3ea@gmail.com> wrote: > > ping! > > Li Qiang <liq3ea@gmail.com> 于2020年8月28日周五 上午9:21写道: > > > > Kindly ping. > > > > Li Qiang <liq3ea@163.com> 于2020年8月14日周五 上午12:52写道: > > > > > > If error occurs while processing the virtio request we should call > > > 'virtqueue_detach_element' to detach the element from the virtqueue > > > before free the elem. > > > > > > Signed-off-by: Li Qiang <liq3ea@163.com> > > > --- > > > hw/virtio/virtio-pmem.c | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c > > > index 1e0c137497..ddb0125901 100644 > > > --- a/hw/virtio/virtio-pmem.c > > > +++ b/hw/virtio/virtio-pmem.c > > > @@ -77,6 +77,7 @@ static void virtio_pmem_flush(VirtIODevice *vdev, VirtQueue *vq) > > > > > > if (req_data->elem.out_num < 1 || req_data->elem.in_num < 1) { > > > virtio_error(vdev, "virtio-pmem request not proper"); > > > + virtqueue_detach_element(vq, (VirtQueueElement *)req_data, 0); > > > g_free(req_data); > > > return; > > > } > > > -- > > > 2.17.1 > > > > > > >
diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c index 1e0c137497..ddb0125901 100644 --- a/hw/virtio/virtio-pmem.c +++ b/hw/virtio/virtio-pmem.c @@ -77,6 +77,7 @@ static void virtio_pmem_flush(VirtIODevice *vdev, VirtQueue *vq) if (req_data->elem.out_num < 1 || req_data->elem.in_num < 1) { virtio_error(vdev, "virtio-pmem request not proper"); + virtqueue_detach_element(vq, (VirtQueueElement *)req_data, 0); g_free(req_data); return; }
If error occurs while processing the virtio request we should call 'virtqueue_detach_element' to detach the element from the virtqueue before free the elem. Signed-off-by: Li Qiang <liq3ea@163.com> --- hw/virtio/virtio-pmem.c | 1 + 1 file changed, 1 insertion(+)