[PATCH] vfio: don't ignore return value of migrate_add_blocker

Jens Freimann posted 1 patch 4 years, 5 months ago
Test asan passed
Test checkpatch passed
Test FreeBSD passed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu passed
Test docker-quick@centos7 passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20191114133449.11536-1-jfreimann@redhat.com
Maintainers: Alex Williamson <alex.williamson@redhat.com>
hw/vfio/pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] vfio: don't ignore return value of migrate_add_blocker
Posted by Jens Freimann 4 years, 5 months ago
When an error occurs in migrate_add_blocker() it sets a
negative return value and uses error pointer we pass in.
Instead of just looking at the error pointer check for a negative return
value and avoid a coverity error because the return value is
set but never used. This fixes CID 1407219.

Fixes: f045a0104c8c ("vfio: unplug failover primary device before
  migration")
Signed-off-by: Jens Freimann <jfreimann@redhat.com>
---
 hw/vfio/pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index e6569a7968..ed01774673 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -2737,7 +2737,7 @@ static void vfio_realize(PCIDevice *pdev, Error **errp)
         error_setg(&vdev->migration_blocker,
                 "VFIO device doesn't support migration");
         ret = migrate_add_blocker(vdev->migration_blocker, &err);
-        if (err) {
+        if (ret) {
             error_propagate(errp, err);
             error_free(vdev->migration_blocker);
             return;
-- 
2.21.0


Re: [PATCH] vfio: don't ignore return value of migrate_add_blocker
Posted by Stefano Garzarella 4 years, 5 months ago
On Thu, Nov 14, 2019 at 02:34:49PM +0100, Jens Freimann wrote:
> When an error occurs in migrate_add_blocker() it sets a
> negative return value and uses error pointer we pass in.
> Instead of just looking at the error pointer check for a negative return
> value and avoid a coverity error because the return value is
> set but never used. This fixes CID 1407219.
> 
> Fixes: f045a0104c8c ("vfio: unplug failover primary device before
>   migration")
> Signed-off-by: Jens Freimann <jfreimann@redhat.com>
> ---
>  hw/vfio/pci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

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


Re: [PATCH] vfio: don't ignore return value of migrate_add_blocker
Posted by Alex Williamson 4 years, 5 months ago
On Thu, 14 Nov 2019 14:34:49 +0100
Jens Freimann <jfreimann@redhat.com> wrote:

> When an error occurs in migrate_add_blocker() it sets a
> negative return value and uses error pointer we pass in.
> Instead of just looking at the error pointer check for a negative return
> value and avoid a coverity error because the return value is
> set but never used. This fixes CID 1407219.
> 
> Fixes: f045a0104c8c ("vfio: unplug failover primary device before
>   migration")
> Signed-off-by: Jens Freimann <jfreimann@redhat.com>
> ---
>  hw/vfio/pci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
> index e6569a7968..ed01774673 100644
> --- a/hw/vfio/pci.c
> +++ b/hw/vfio/pci.c
> @@ -2737,7 +2737,7 @@ static void vfio_realize(PCIDevice *pdev, Error **errp)
>          error_setg(&vdev->migration_blocker,
>                  "VFIO device doesn't support migration");
>          ret = migrate_add_blocker(vdev->migration_blocker, &err);
> -        if (err) {
> +        if (ret) {
>              error_propagate(errp, err);
>              error_free(vdev->migration_blocker);
>              return;

Slightly late notice, but I did include this in my last pull request
and it's included in v4.2.0-rc2 with Stefano and Philippe's R-b.
Thanks,

Alex


Re: [PATCH] vfio: don't ignore return value of migrate_add_blocker
Posted by Philippe Mathieu-Daudé 4 years, 5 months ago
On 11/14/19 2:34 PM, Jens Freimann wrote:
> When an error occurs in migrate_add_blocker() it sets a
> negative return value and uses error pointer we pass in.
> Instead of just looking at the error pointer check for a negative return
> value and avoid a coverity error because the return value is
> set but never used. This fixes CID 1407219.
> 
> Fixes: f045a0104c8c ("vfio: unplug failover primary device before
>    migration")
> Signed-off-by: Jens Freimann <jfreimann@redhat.com>
> ---
>   hw/vfio/pci.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
> index e6569a7968..ed01774673 100644
> --- a/hw/vfio/pci.c
> +++ b/hw/vfio/pci.c
> @@ -2737,7 +2737,7 @@ static void vfio_realize(PCIDevice *pdev, Error **errp)
>           error_setg(&vdev->migration_blocker,
>                   "VFIO device doesn't support migration");
>           ret = migrate_add_blocker(vdev->migration_blocker, &err);
> -        if (err) {
> +        if (ret) {
>               error_propagate(errp, err);
>               error_free(vdev->migration_blocker);
>               return;
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>