[PATCH] msix: unset PCIDevice::msix_vector_poll_notifier in rollback

Robert Hoo posted 1 patch 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231113081349.1307-1-robert.hoo.linux@gmail.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
hw/pci/msix.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] msix: unset PCIDevice::msix_vector_poll_notifier in rollback
Posted by Robert Hoo 1 year ago
In the rollback in msix_set_vector_notifiers(), original patch forgot to
undo msix_vector_poll_notifier pointer.

Fixes: bbef882cc193 ("msi: add API to get notified about pending bit poll")
Signed-off-by: Robert Hoo <robert.hoo.linux@gmail.com>
---
 hw/pci/msix.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index ab8869d9d0..cd817f4ca8 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -648,6 +648,7 @@ undo:
     }
     dev->msix_vector_use_notifier = NULL;
     dev->msix_vector_release_notifier = NULL;
+    dev->msix_vector_poll_notifier = NULL;
     return ret;
 }
 
-- 
2.39.3
Re: [PATCH] msix: unset PCIDevice::msix_vector_poll_notifier in rollback
Posted by Philippe Mathieu-Daudé 1 year ago
Hi Robert,

On 13/11/23 09:13, Robert Hoo wrote:
> In the rollback in msix_set_vector_notifiers(), original patch forgot to
> undo msix_vector_poll_notifier pointer.

Out of curiosity, nobody complained during 11 years, so in which
use case did you notice this?

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

> Fixes: bbef882cc193 ("msi: add API to get notified about pending bit poll")
> Signed-off-by: Robert Hoo <robert.hoo.linux@gmail.com>
> ---
>   hw/pci/msix.c | 1 +
>   1 file changed, 1 insertion(+)


Re: [PATCH] msix: unset PCIDevice::msix_vector_poll_notifier in rollback
Posted by Robert Hoo 1 year ago
On 11/13/2023 6:05 PM, Philippe Mathieu-Daudé wrote:
> Hi Robert,
> 
> On 13/11/23 09:13, Robert Hoo wrote:
>> In the rollback in msix_set_vector_notifiers(), original patch forgot to
>> undo msix_vector_poll_notifier pointer.
> 
> Out of curiosity, nobody complained during 11 years, so in which
> use case did you notice this?
> 

Hi Philippe,

I stumbled upon this when looking into another issue.

I think, thanks to the caller's very standardized use, the omission has never 
been exposed.