2011-03-30 19:16:04

by Nicolas Kaiser

[permalink] [raw]
Subject: [PATCH] xen: events: fix error checks in bind_*_to_irqhandler()

Checking 'irq < 0' doesn't work when 'irq' is unsigned.

The assigned bind_evtchn_to_irq() and bind_virq_to_irq()
return int, so using int appears appropriate.

Signed-off-by: Nicolas Kaiser <[email protected]>
---
drivers/xen/events.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index 036343b..589f0a5 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -912,8 +912,7 @@ int bind_evtchn_to_irqhandler(unsigned int evtchn,
unsigned long irqflags,
const char *devname, void *dev_id)
{
- unsigned int irq;
- int retval;
+ int irq, retval;

irq = bind_evtchn_to_irq(evtchn);
if (irq < 0)
@@ -955,8 +954,7 @@ int bind_virq_to_irqhandler(unsigned int virq, unsigned int cpu,
irq_handler_t handler,
unsigned long irqflags, const char *devname, void *dev_id)
{
- unsigned int irq;
- int retval;
+ int irq, retval;

irq = bind_virq_to_irq(virq, cpu);
if (irq < 0)
--
1.7.3.4


2011-03-30 19:32:14

by Konrad Rzeszutek Wilk

[permalink] [raw]
Subject: Re: [PATCH] xen: events: fix error checks in bind_*_to_irqhandler()

On Wed, Mar 30, 2011 at 09:14:26PM +0200, Nicolas Kaiser wrote:
> Checking 'irq < 0' doesn't work when 'irq' is unsigned.
>
> The assigned bind_evtchn_to_irq() and bind_virq_to_irq()
> return int, so using int appears appropriate.

Whoops. Good check. Will have it queue up for rc2.

Will fix up the bind_virq_to_irqhandler case as well.
>
> Signed-off-by: Nicolas Kaiser <[email protected]>
> ---
> drivers/xen/events.c | 6 ++----
> 1 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> index 036343b..589f0a5 100644
> --- a/drivers/xen/events.c
> +++ b/drivers/xen/events.c
> @@ -912,8 +912,7 @@ int bind_evtchn_to_irqhandler(unsigned int evtchn,
> unsigned long irqflags,
> const char *devname, void *dev_id)
> {
> - unsigned int irq;
> - int retval;
> + int irq, retval;
>
> irq = bind_evtchn_to_irq(evtchn);
> if (irq < 0)
> @@ -955,8 +954,7 @@ int bind_virq_to_irqhandler(unsigned int virq, unsigned int cpu,
> irq_handler_t handler,
> unsigned long irqflags, const char *devname, void *dev_id)
> {
> - unsigned int irq;
> - int retval;
> + int irq, retval;
>
> irq = bind_virq_to_irq(virq, cpu);
> if (irq < 0)
> --
> 1.7.3.4
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/