[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH for-4.5] call xc_domain_irq_permission before xc_domain_irq_permission



Friday, January 23, 2015, 1:42:04 PM, you wrote:

> On Mon, 1 Dec 2014, Stefano Stabellini wrote:
>> xc_physdev_unmap_pirq might revoke the permission to map the irq from
>> the domain causing the following xc_domain_irq_permission call to fail
>> and return error (domain_pirq_to_irq returns 0).
>> 
>> Call xc_domain_irq_permission first to prevent this from happening
>> (xc_physdev_unmap_pirq calls irq_deny_access, that doesn't fail if the
>> permission is already removed).
>> 
>> This is a simple bug fix and I think should go in 4.5.
>> 
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>

> This patch didn't actually make it into 4.5, but I think it should have.
> We could at least apply to master now.

Didn't Jan issue a patch for that in:
http://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=6fb3a07bc0ad656b5f76eb9fc961bcd1d3cace58

--
Sander

>> diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
>> index 316643c..904d255 100644
>> --- a/tools/libxl/libxl_pci.c
>> +++ b/tools/libxl/libxl_pci.c
>> @@ -1288,14 +1290,14 @@ skip1:
>>              goto out;
>>          }
>>          if ((fscanf(f, "%u", &irq) == 1) && irq) {
>> -            rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
>> -            if (rc < 0) {
>> -                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, 
>> "xc_physdev_unmap_pirq irq=%d", irq);
>> -            }
>>              rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
>>              if (rc < 0) {
>>                  LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, 
>> "xc_domain_irq_permission irq=%d", irq);
>>              }
>> +            rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
>> +            if (rc < 0) {
>> +                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, 
>> "xc_physdev_unmap_pirq irq=%d", irq);
>> +            }
>>          }
>>          fclose(f);
>>      }
>> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.