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]
Message-ID: <alpine.LFD.2.00.1010072037010.2501@localhost6.localdomain6>
Date:	Thu, 7 Oct 2010 20:37:31 +0200 (CEST)
From:	Thomas Gleixner <tglx@...utronix.de>
To:	Grazvydas Ignotas <notasas@...il.com>
cc:	Ingo Molnar <mingo@...e.hu>, linux-kernel@...r.kernel.org
Subject: Re: twl4030 irq crashes

On Thu, 7 Oct 2010, Grazvydas Ignotas wrote:
> On Thu, Oct 7, 2010 at 1:59 AM, Thomas Gleixner <tglx@...utronix.de> wrote:
> > On Thu, 7 Oct 2010, Grazvydas Ignotas wrote:
> >
> >> Hello,
> >>
> >> I've pulled today's (20101006) linux-next and twl4030 started crashing
> >> on certain interrupts. twl4030 irq code hasn't changed so it's
> >> probably genirq's fault:
> >>
> >> [    0.889739] Unable to handle kernel NULL pointer dereference at
> >> virtual address 00000000
> >> [    0.898193] pgd = c0004000
> >> [    0.901000] [00000000] *pgd=00000000
> >> [    0.904754] Internal error: Oops: 80000005 [#1]
> >> [    0.909484] last sysfs file:
> >> [    0.912567] Modules linked in:
> >> [    0.915771] CPU: 0    Not tainted
> >> (2.6.36-rc6-next-20101006-00001-g766a681-dirty #205)
> >> [    0.924133] PC is at 0x0
> >> [    0.926788] LR is at handle_edge_irq+0x84/0x14c
> >
> > Can you please decode that line with
> >
> > addr2line -e vmlinux c0077244
> 
> kernel/irq/chip.c:725

The patch below should cure that.

Thanks,

	tglx
---
diff --git a/drivers/mfd/twl4030-irq.c b/drivers/mfd/twl4030-irq.c
index 61c8664..b9fda70 100644
--- a/drivers/mfd/twl4030-irq.c
+++ b/drivers/mfd/twl4030-irq.c
@@ -810,7 +810,7 @@ int twl4030_init_irq(int irq_num, unsigned irq_base, unsigned irq_end)
 	twl4030_irq_chip = dummy_irq_chip;
 	twl4030_irq_chip.name = "twl4030";
 
-	twl4030_sih_irq_chip.ack = dummy_irq_chip.ack;
+	twl4030_sih_irq_chip.irq_ack = dummy_irq_chip.irq_ack;
 
 	for (i = irq_base; i < irq_end; i++) {
 		set_irq_chip_and_handler(i, &twl4030_irq_chip,

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ