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

Re: [patch V2 02/31] genirq/msi: Add mutex for MSI list protection



On Wed, Dec 08 2021 at 20:47, Jason Gunthorpe wrote:
> On Mon, Dec 06, 2021 at 11:51:05PM +0100, Thomas Gleixner wrote:
>> +++ b/kernel/irq/msi.c
>> @@ -127,12 +127,37 @@ int msi_setup_device_data(struct device
>>              return -ENOMEM;
>>  
>>      INIT_LIST_HEAD(&md->list);
>> +    mutex_init(&md->mutex);
>>      dev->msi.data = md;
>>      devres_add(dev, md);
>>      return 0;
>>  }
>>  
>>  /**
>> + * msi_lock_descs - Lock the MSI descriptor storage of a device
>> + * @dev:    Device to operate on
>> + */
>> +void msi_lock_descs(struct device *dev)
>> +{
>> +    if (WARN_ON_ONCE(!dev->msi.data))
>> +            return;
>
> Is this useful? Other places that call msi_lock_descs will continue on and 
> deref
> null dev->msi anyhow - is the dump from the WARN_ON that much better
> than the oops from the null deref here:
>
>> +    mutex_lock(&dev->msi.data->mutex);

I put it there for paranoia reasons and forgot to revist it later. In
that case yes, it's of questionable value.

Thanks,

        tglx



 


Rackspace

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