[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

 


Rackspace

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