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: <1200904299.6341.2.camel@lappy>
Date:	Mon, 21 Jan 2008 09:31:39 +0100
From:	Peter Zijlstra <peterz@...radead.org>
To:	David Brownell <david-b@...bell.net>
Cc:	Linux Kernel list <linux-kernel@...r.kernel.org>, mingo@...hat.com
Subject: Re: [patch/rfc 2.6.24-rc8-git] genirq: partial lockdep fixes


On Fri, 2008-01-18 at 14:29 -0800, David Brownell wrote:
> EXPERIMENTAL and incomplete patch to make LOCKDEP behave better in
> the face of irq chaining, by annotating irqs with a lock_class which
> can reflect that hierarchy.

This is too short for me (who has no clue about genirq) to understand
what this patch does or why it does it.

> This version of the patch is incomplete in at least two respects:
> 
>  - There's no spin_lock_irq_nested() primitive, so that locking calls
>    on irq probing (yeech!) paths must ignore the annotations.
> 
> 	==> LOCKDEP feature is evidently missing:
> 		spin_lock_irq_nested(lock_ptr, lock_class)

This rant is more lines than adding the API :-/ the reason for it not
being there is simple, it wasn't needed up until now.

>  - We'd really need new API to declare the parent/child relationships
>    between IRQs to handle this properly.  Lacking such calls, this just
>    piggybacks set_irq_chained_handler() to modify the parent's class.
>    That's a problem, since only the lowest level of any lock tree gets
>    accurate nesting annotations.  On the plus side: no platform changes
>    are needed this way, so testing is easy.
> 
> 	==> GENIRQ programming interface evidently missing
> 		set_irq_parent(parent_irqnum, child_irqnum) (?)
> 
> Example:  when a GPIO controller's set_wake() handler needs to call its
> parent's set_irq_wake() method to ensure all appropriate signal paths are
> set up, that currently generates a bogus lockdep warning.  This patch
> removes those bogus warnings ... when there's only one level of parent.

OK.... still need a bit more detail here.

--
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