lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 30 Jun 2014 19:52:19 +0200
From:	Geert Uytterhoeven <geert@...ux-m68k.org>
To:	Andreas Schwab <schwab@...ux-m68k.org>
Cc:	Nicholas Krause <xerofoify@...il.com>,
	linux-m68k <linux-m68k@...ts.linux-m68k.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH] Fixes q40_irq_startup to return -ENXIO

On Mon, Jun 30, 2014 at 7:27 PM, Andreas Schwab <schwab@...ux-m68k.org> wrote:
> Nicholas Krause <xerofoify@...il.com> writes:
>
>> Fixes q40_irq_startup to return -ENXIO for cases 11-13 in the switch
>> statement of this function to handle these failure cases.
>>
>> Signed-off-by: Nicholas Krause <xerofoify@...il.com>
>> ---
>>  arch/m68k/q40/q40ints.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/m68k/q40/q40ints.c b/arch/m68k/q40/q40ints.c
>> index 513f9bb..9dfa1ea 100644
>> --- a/arch/m68k/q40/q40ints.c
>> +++ b/arch/m68k/q40/q40ints.c
>> @@ -49,7 +49,7 @@ static unsigned int q40_irq_startup(struct irq_data *data)
>>       case 1: case 2: case 8: case 9:
>>       case 11: case 12: case 13:
>>               printk("%s: ISA IRQ %d not implemented by HW\n", __func__, irq);
>> -             /* FIXME return -ENXIO; */
>> +             return -ENXIO;
>
> There must be more to it, given the FIXME.

I think I really just forgot to get rid of it. It was introduced in commit
c288bf2533e57174b90b07860c4391bcd1ea269c ("m68k/irq: Rename
irq_controller to irq_chip").

I think I added the FIXME because I got puzzled by the return value change
from (signed) int to unsigned int, which doesn't match well with a negative
error number.

However:
  1. While irq_chip.irq_startup() returns unsigned int, irq_startup()
does return
     int (why this difference, historical reasons?), so it becomes a negative
     number again later,
  2. The return value of irq_startup() seems to used in
     kernel/irq/autoprobe.c:probe_irq_on() only, and the actual (non-zero) value
     doesn't matter, just whether it returns zero or non-zero.

So I'm gonna take this patch, unless someone screams with a very good reason.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ