Re: [PATCH 00/33] dyn_array and nr_irqs support v4

Yinghai Lu
2008-08-07T12:37:23Z

On Thu, Aug 7, 2008 at 3:12 AM, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> On Wed, 06 Aug 2008 18:02:18 -0700
> ebiederm@xmission.com (Eric W. Biederman) wrote:
>
>> Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
>>
>> > A lot of these are range checks so could be replaced by a single
>> > valid_irq(irq) test.
>>
>> Yes. My first impression was that with NR_IRQS dead valid_irq could
>> easily become. #define valid_irq(irq) ((irq) != 0)
>
> Not really - there are lots of cases where we sanity check an IRQ passed
> from user space or module parameter configuration. So we do actually need
>
> valid_irq(irq) ((irq) > 0 && (irq) < nr_irqs)
>
> [or relevant per arch alternatives]

#ifndef CONFIG_HAVE_SPARSE_IRQ
#define valid_irq(irq) ((irq) > 0 && (irq) < nr_irqs)
#else
#define valid_irq(irq) ((irq) > 0)

anyway why 0 is invalid instead of -1U...?

YH

#endif