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

Re: [Xen-devel] xen: Clear IRQ_GUEST bit from irq_desc status if its action is NULL



>>> On 13.09.11 at 14:36, Igor Mammedov <imammedo@xxxxxxxxxx> wrote:
> On 09/13/2011 01:45 PM, Jan Beulich wrote:
>>>>> On 13.09.11 at 11:08, Igor Mammedov<imammedo@xxxxxxxxxx>  wrote:
>>> On a system with Intel C600 series Patsburg SAS controller
>>> if following command are executed:
>>>
>>>    rmmod isci
>>>    modprobe isci
>>>
>>> the host will crash in pirq_guest_bind in attempt to dereference
>>> NULL action pointer.
>>>
>>> This is caused by isci driver which does not cleanup irq properly,
>>> removing device first and then os tries to unbind its irqs afterwards.
>>>
>>> c/s 20093 and 20844 fixed host crashes when removing isci module.
>>>
>>> However in dynamic_irq_cleanup 'action' field of irq_desc is set to
>>> NULL but IRQ_GUEST flag in 'status' field is not cleared. So on next
>>
>> So why don't you clear the bit there?
> 
> then we may hit
> 
> BUG_ON(!(desc->status & IRQ_GUEST));
> 
> in pirq_guest_unbind -> __pirq_guest_unbind
> 
> It seams safer for me to clear bit in __pirq_guest_unbind

Makes sense - could you say so in the description when re-submitting?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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