diff mbox

IOMMU: release lock on new exit path

Message ID 5820ABDB020000780011CC2F@prv-mh.provo.novell.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jan Beulich Nov. 7, 2016, 3:29 p.m. UTC
This was overlooked in 7b2842a414 ("IOMMU: replace ASSERT()s checking
for NULL").

Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
IOMMU: release lock on new exit path

This was overlooked in 7b2842a414 ("IOMMU: replace ASSERT()s checking
for NULL").

Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/drivers/passthrough/io.c
+++ b/xen/drivers/passthrough/io.c
@@ -168,6 +168,7 @@ static void pt_irq_time_out(void *data)
     if ( unlikely(!dpci) )
     {
         ASSERT_UNREACHABLE();
+        spin_unlock(&irq_map->dom->event_lock);
         return;
     }
     list_for_each_entry ( digl, &irq_map->digl_list, list )

Comments

Konrad Rzeszutek Wilk Nov. 7, 2016, 3:58 p.m. UTC | #1
On Mon, Nov 07, 2016 at 08:29:15AM -0700, Jan Beulich wrote:
> This was overlooked in 7b2842a414 ("IOMMU: replace ASSERT()s checking
> for NULL").
> 
> Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Thanks!
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/drivers/passthrough/io.c
> +++ b/xen/drivers/passthrough/io.c
> @@ -168,6 +168,7 @@ static void pt_irq_time_out(void *data)
>      if ( unlikely(!dpci) )
>      {
>          ASSERT_UNREACHABLE();
> +        spin_unlock(&irq_map->dom->event_lock);
>          return;
>      }
>      list_for_each_entry ( digl, &irq_map->digl_list, list )
> 
> 
>
Wei Liu Nov. 8, 2016, 1:45 a.m. UTC | #2
On Mon, Nov 07, 2016 at 10:58:43AM -0500, Konrad Rzeszutek Wilk wrote:
> On Mon, Nov 07, 2016 at 08:29:15AM -0700, Jan Beulich wrote:
> > This was overlooked in 7b2842a414 ("IOMMU: replace ASSERT()s checking
> > for NULL").
> > 
> > Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 

Applied.
diff mbox

Patch

--- a/xen/drivers/passthrough/io.c
+++ b/xen/drivers/passthrough/io.c
@@ -168,6 +168,7 @@  static void pt_irq_time_out(void *data)
     if ( unlikely(!dpci) )
     {
         ASSERT_UNREACHABLE();
+        spin_unlock(&irq_map->dom->event_lock);
         return;
     }
     list_for_each_entry ( digl, &irq_map->digl_list, list )