Re: [stable] [PATCH] x86: Reserve FIRST_DEVICE_VECTOR in used_vectorsbitmap

From: Stefan Bader
Date: Fri Oct 10 2008 - 16:24:50 EST


Greg KH wrote:
> On Fri, Oct 10, 2008 at 04:01:54PM -0400, Stefan Bader wrote:
>> Affected: 2.6.24-2.6.27
>>
>> Someone from the community found out, that after repeatedly unloading and
>> loading a device driver that uses MSI IRQs, the system eventually assigned
>> the vector initially reserved for IRQ0 to the device driver.
>>
>> The reason for this is, that although IRQ0 is tied to the FIRST_DEVICE_VECTOR
>> when declaring the irq_vector table, the corresponding bit in the used_vectors
>> map is not set. So, if vectors are released and assigned often enough, the
>> vector will get assigned to another interrupt. This happens more often with
>> MSI interrupts as those are exclusively using a vector.
>
> Is there a problem with being assigned to IRQ0 in situations like this?
>
> thanks,
>
> greg k-h
Yes, since IRQ0 is still wanted and used by the system timer. After the module
get unloaded again, the vector gets freed and no timer interrupt is delivered
anymore.

Stefan

--

When all other means of communication fail, try words!


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/