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:   Tue, 30 Jan 2018 19:36:32 +0100 (CET)
From:   Thomas Gleixner <tglx@...utronix.de>
To:     Meelis Roos <mroos@...ux.ee>
cc:     Linux Kernel list <linux-kernel@...r.kernel.org>, x86@...nel.org
Subject: Re: 4.15: WARNING: CPU: 3 PID: 258 at kernel/irq/chip.c:244
 __irq_startup+0x80/0x100

On Mon, 29 Jan 2018, Thomas Gleixner wrote:
> On Mon, 29 Jan 2018, Meelis Roos wrote:
> 
> > Upgraded some of my older machines to v4.15 today. On a quad P3 HP 
> > NetServer,
> 
> Your supply of vintage hardware is amazing.
> 
> > I get a bootup warning at kernel/irq/chip.c:244 
> > __irq_startup+0x80/0x100 (full dmesg below). It seems it was there 
> > before but I did not notice it.
> 
> > [   11.180167] WARNING: CPU: 3 PID: 258 at kernel/irq/chip.c:244 __irq_startup+0x80/0x100
> > [   11.180508] EIP: __irq_startup+0x80/0x100
> > [   11.180912]  irq_startup+0x7e/0x170
> > [   11.180977]  probe_irq_on+0x128/0x2b0
> > [   11.181054]  parport_irq_probe.constprop.18+0x8d/0x1af [parport_pc]
> > [   11.181127]  parport_pc_probe_port+0xf11/0x1260 [parport_pc]
> > [   11.181202]  parport_pc_init+0x78a/0xf10 [parport_pc]
> > [   11.181273]  ? parport_parse_param.constprop.16+0xf0/0xf0 [parport_pc]
> > [   11.181338]  do_one_initcall+0x45/0x1e0
> 
> Bah, that's the irq probing code, which I obviously missed... I'll have a look.

Does the patch below fix the issue for you?

Thanks,

	tglx

8<----------------
diff --git a/kernel/irq/autoprobe.c b/kernel/irq/autoprobe.c
index 4e8089b319ae..8c82ea26e837 100644
--- a/kernel/irq/autoprobe.c
+++ b/kernel/irq/autoprobe.c
@@ -71,7 +71,7 @@ unsigned long probe_irq_on(void)
 		raw_spin_lock_irq(&desc->lock);
 		if (!desc->action && irq_settings_can_probe(desc)) {
 			desc->istate |= IRQS_AUTODETECT | IRQS_WAITING;
-			if (irq_startup(desc, IRQ_NORESEND, IRQ_START_FORCE))
+			if (irq_activate_and_startup(desc, IRQ_NORESEND))
 				desc->istate |= IRQS_PENDING;
 		}
 		raw_spin_unlock_irq(&desc->lock);

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ