[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 13/15] x86/IRQ: tighten vector checks
>>> On 22.05.19 at 18:42, <roger.pau@xxxxxxxxxx> wrote: > On Mon, May 20, 2019 at 09:26:37AM -0600, Jan Beulich wrote: >> >>> On 20.05.19 at 16:04, <roger.pau@xxxxxxxxxx> wrote: >> > On Fri, May 17, 2019 at 04:52:32AM -0600, Jan Beulich wrote: >> >> @@ -452,15 +452,18 @@ static vmask_t *irq_get_used_vector_mask >> >> int vector; >> >> >> >> vector = irq_to_vector(irq); >> >> - if ( vector > 0 ) >> >> + if ( valid_irq_vector(vector) ) >> >> { >> >> - printk(XENLOG_INFO "IRQ %d already assigned vector %d\n", >> >> + printk(XENLOG_INFO "IRQ%d already assigned vector >> >> %02x\n", >> >> irq, vector); >> >> >> >> ASSERT(!test_bit(vector, ret)); >> >> >> >> set_bit(vector, ret); >> >> } >> >> + else if ( vector != IRQ_VECTOR_UNASSIGNED ) >> >> + printk(XENLOG_WARNING "IRQ%d mapped to bogus vector >> >> %02x\n", >> >> + irq, vector); >> > >> > Maybe add an assert_unreachable here? It seems really bogus to call >> > irq_get_used_vector_mask with an unassigned vector. >> >> How that? This would e.g. get called the very first time a vector >> is to be assigned. But I'm afraid I'm a little confused anyway by >> the wording you use - after all this is the code path dealing with >> an IRQ _not_ being marked as having no vector assigned, but >> also not having a valid vector. > > Thanks for the clarification, by the name of the function I assumed it > must be called with an irq that has a vector assigned, if that's not > the case then I think it's fine. > > Roger. Well, the names means "get the object where used vectors are to be tracked for this IRQ", which has no implication on whether a vector was already assigned. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |