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>] [day] [month] [year] [list]
Message-ID: <48FD8497.4090402@kernel.org>
Date:	Tue, 21 Oct 2008 00:28:23 -0700
From:	Yinghai Lu <yinghai@...nel.org>
To:	Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>,
	"H. Peter Anvin" <hpa@...or.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Chris Friesen <cfriesen@...tel.com>,
	David Brownell <david-b@...bell.net>,
	Benjamin Herrenschmidt <benh@...nel.crashing.org>
Subject: [Fwd: Re: -tip  hangs my G5 during boot]  -- Bug in "genirq: record
 trigger type"



-------- Original Message --------
Subject: Re: -tip  hangs my G5 during boot
Date: Fri, 10 Oct 2008 11:13:34 -0600
From: Chris Friesen <cfriesen@...tel.com>
To: David Brownell <david-b@...bell.net>
CC: Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>,        Yinghai Lu <yinghai@...nel.org>, "H. Peter Anvin" <hpa@...or.com>
References: <48ECDFE2.1020609@...tel.com> <200810091043.27149.david-b@...bell.net> <20081010153737.GC28977@...e.hu> <200810100958.38383.david-b@...bell.net>

David Brownell wrote:
> On Friday 10 October 2008, Ingo Molnar wrote:
>
>>>>>	 bisection gave the following as the culprit.
>>>>>
>>>>>commit 0c5d1eb77a8be917b638344a22afe1398236482b
>>>>>Author: David Brownell <dbrownell@...rs.sourceforge.net>
>>>>>
>>>>>    genirq: record trigger type
>>
>>a quick review of the patch shows that it's about much more than just
>>recording the trigger type, it also changes the semantics of
>>set_irq_type():
>
>
> This is *exactly* what I meant when I wrote:
>
>
>>>>Other than that, I suspect something (new or old) depending on
>>>>either set_irq_type(irq, IRQ_TYPE_NONE) getting to an irq_chip
>>>>which doesn't treat it as a NOP, or ...
>
>
> As noted in my patch comments:  as part of recording those flags,
> it made their semantics in set_irq_type() paths be identical to
> their semantics in request_irq() paths.
>
> There do seem to be some irq_chip implementations in the
> arch/powerpc/sysdev (and some Cell support) that treat
> IRQ_TYPE_NONE as other-than-NOP.

At least in my case, it was nothing so complicated.  David's original
patch was passing "flags" rather than "type" down to __irq_set_trigger().
If I change it to pass "type" then everything works.

The following patch applies on top of -tip with David's original patch
re-applied.

Chris


From: Chris Friesen    <cfriesen@...tel.com>
Subject: [PATCH] fix set_irq_type() when recording trigger type

In set_irq_type() we want to pass the type rather than the current
interrupt state.

Signed-off-by: Chris Friesen <cfriesen@...tel.com>


diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index 570d1ea..1c178ae 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -132,7 +132,7 @@ int set_irq_type(unsigned int irq, unsigned int type)
 		return 0;

 	spin_lock_irqsave(&desc->lock, flags);
-	ret = __irq_set_trigger(desc, irq, flags);
+	ret = __irq_set_trigger(desc, irq, type);
 	spin_unlock_irqrestore(&desc->lock, flags);
 	return ret;
 }
--
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