qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] e1000e: correctly tear down MSI-X memory regions
@ 2017-03-09 11:58 Paolo Bonzini
  2017-03-09 12:05 ` Laurent Vivier
  0 siblings, 1 reply; 3+ messages in thread
From: Paolo Bonzini @ 2017-03-09 11:58 UTC (permalink / raw)
  To: qemu-devel; +Cc: dgilbert, Jason Wang, qemu-stable

MSI-X has been disabled by the time the e1000e device is unrealized, hence
msix_uninit is never called.  This causes the object to be leaked, which
shows up as a RAMBlock with empty name when attempting migration.

Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/net/e1000e.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c
index b0f429b..6e23493 100644
--- a/hw/net/e1000e.c
+++ b/hw/net/e1000e.c
@@ -306,7 +306,7 @@ e1000e_init_msix(E1000EState *s)
 static void
 e1000e_cleanup_msix(E1000EState *s)
 {
-    if (msix_enabled(PCI_DEVICE(s))) {
+    if (msix_present(PCI_DEVICE(s))) {
         e1000e_unuse_msix_vectors(s, E1000E_MSIX_VEC_NUM);
         msix_uninit(PCI_DEVICE(s), &s->msix, &s->msix);
     }
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] e1000e: correctly tear down MSI-X memory regions
  2017-03-09 11:58 [Qemu-devel] [PATCH] e1000e: correctly tear down MSI-X memory regions Paolo Bonzini
@ 2017-03-09 12:05 ` Laurent Vivier
  2017-03-10 10:59   ` Jason Wang
  0 siblings, 1 reply; 3+ messages in thread
From: Laurent Vivier @ 2017-03-09 12:05 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel; +Cc: Jason Wang, dgilbert, qemu-stable

On 09/03/2017 12:58, Paolo Bonzini wrote:
> MSI-X has been disabled by the time the e1000e device is unrealized, hence
> msix_uninit is never called.  This causes the object to be leaked, which
> shows up as a RAMBlock with empty name when attempting migration.
> 
> Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Cc: Jason Wang <jasowang@redhat.com>
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  hw/net/e1000e.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c
> index b0f429b..6e23493 100644
> --- a/hw/net/e1000e.c
> +++ b/hw/net/e1000e.c
> @@ -306,7 +306,7 @@ e1000e_init_msix(E1000EState *s)
>  static void
>  e1000e_cleanup_msix(E1000EState *s)
>  {
> -    if (msix_enabled(PCI_DEVICE(s))) {
> +    if (msix_present(PCI_DEVICE(s))) {
>          e1000e_unuse_msix_vectors(s, E1000E_MSIX_VEC_NUM);
>          msix_uninit(PCI_DEVICE(s), &s->msix, &s->msix);
>      }
> 

Tested-by: Laurent Vivier <lvivier@redhat.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] e1000e: correctly tear down MSI-X memory regions
  2017-03-09 12:05 ` Laurent Vivier
@ 2017-03-10 10:59   ` Jason Wang
  0 siblings, 0 replies; 3+ messages in thread
From: Jason Wang @ 2017-03-10 10:59 UTC (permalink / raw)
  To: Laurent Vivier, Paolo Bonzini, qemu-devel; +Cc: dgilbert, qemu-stable



On 2017年03月09日 20:05, Laurent Vivier wrote:
> On 09/03/2017 12:58, Paolo Bonzini wrote:
>> MSI-X has been disabled by the time the e1000e device is unrealized, hence
>> msix_uninit is never called.  This causes the object to be leaked, which
>> shows up as a RAMBlock with empty name when attempting migration.
>>
>> Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>> Cc: Jason Wang <jasowang@redhat.com>
>> Cc: qemu-stable@nongnu.org
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>>   hw/net/e1000e.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c
>> index b0f429b..6e23493 100644
>> --- a/hw/net/e1000e.c
>> +++ b/hw/net/e1000e.c
>> @@ -306,7 +306,7 @@ e1000e_init_msix(E1000EState *s)
>>   static void
>>   e1000e_cleanup_msix(E1000EState *s)
>>   {
>> -    if (msix_enabled(PCI_DEVICE(s))) {
>> +    if (msix_present(PCI_DEVICE(s))) {
>>           e1000e_unuse_msix_vectors(s, E1000E_MSIX_VEC_NUM);
>>           msix_uninit(PCI_DEVICE(s), &s->msix, &s->msix);
>>       }
>>
> Tested-by: Laurent Vivier <lvivier@redhat.com>
>

Applied, thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-03-10 10:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-09 11:58 [Qemu-devel] [PATCH] e1000e: correctly tear down MSI-X memory regions Paolo Bonzini
2017-03-09 12:05 ` Laurent Vivier
2017-03-10 10:59   ` Jason Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).