Re: [PATCH 09/14] xen: events: Remove redundant check on unsignedvariable

From: Tushar Behera
Date: Sun Nov 18 2012 - 22:51:58 EST


On 11/16/2012 10:23 PM, Jeremy Fitzhardinge wrote:
> To be honest I'd nack this kind of patch. The test is only redundant in the most trivial sense that the compiler can easily optimise away. The point of the test is to make sure that the range is OK even if the type subsequently becomes signed (to hold a -ve error, for example).
>
> J
>

The check is on the function argument which is unsigned, so checking '<
0' doesn't make sense. We should force signed check only if the argument
is of signed type. In any case, even if irq has been assigned some error
value, that would be caught by the check irq >= nr_irqs.

> Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote:
>
>> On Fri, Nov 16, 2012 at 12:20:41PM +0530, Tushar Behera wrote:
>>> No need to check whether unsigned variable is less than 0.
>>>
>>> CC: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
>>
>> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
>>
>>> CC: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
>>> CC: xen-devel@xxxxxxxxxxxxxxxxxxx
>>> CC: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
>>> Signed-off-by: Tushar Behera <tushar.behera@xxxxxxxxxx>
>>> ---
>>> drivers/xen/events.c | 2 +-
>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
>>> index 4293c57..cadd7d1 100644
>>> --- a/drivers/xen/events.c
>>> +++ b/drivers/xen/events.c
>>> @@ -216,7 +216,7 @@ static void xen_irq_info_pirq_init(unsigned irq,
>>> */
>>> static unsigned int evtchn_from_irq(unsigned irq)
>>> {
>>> - if (unlikely(WARN(irq < 0 || irq >= nr_irqs, "Invalid irq %d!\n",
>> irq)))
>>> + if (unlikely(WARN(irq >= nr_irqs, "Invalid irq %d!\n", irq)))
>>> return 0;
>>>
>>> return info_for_irq(irq)->evtchn;
>>> --
>>> 1.7.4.1
>


--
Tushar Behera
--
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/