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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.02.1109161104200.2723@ionos>
Date:	Fri, 16 Sep 2011 11:37:23 +0200 (CEST)
From:	Thomas Gleixner <tglx@...utronix.de>
To:	Marc Zyngier <marc.zyngier@....com>
cc:	Michał Mirosław <mirqus@...il.com>,
	"linux-arm-kernel@...ts.infradead.org" 
	<linux-arm-kernel@...ts.infradead.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH 1/3] genirq: add support for per-cpu dev_id
 interrupts

On Fri, 16 Sep 2011, Marc Zyngier wrote:

> Hi Michał,
> 
> On 15/09/11 22:36, Michał Mirosław wrote:
> > 2011/9/15 Marc Zyngier <marc.zyngier@....com>:
> > [...]
> >> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
> >> index a103732..f9b7fa3 100644
> >> --- a/include/linux/interrupt.h
> >> +++ b/include/linux/interrupt.h
> >> @@ -95,6 +95,7 @@ typedef irqreturn_t (*irq_handler_t)(int, void *);
> >>  * @flags:     flags (see IRQF_* above)
> >>  * @name:      name of the device
> >>  * @dev_id:    cookie to identify the device
> >> + * @percpu_dev_id:     cookie to identify the device
> >>  * @next:      pointer to the next irqaction for shared interrupts
> >>  * @irq:       interrupt number
> >>  * @dir:       pointer to the proc/irq/NN/name entry
> >> @@ -104,17 +105,20 @@ typedef irqreturn_t (*irq_handler_t)(int, void *);
> >>  * @thread_mask:       bitmask for keeping track of @thread activity
> >>  */
> >>  struct irqaction {
> > [...]
> >> +       void                    *dev_id;
> >> +#ifdef CONFIG_IRQ_PERCPU_DEVID
> >> +       void __percpu           *percpu_dev_id;
> >> +#endif
> > 
> > Those two can share the memory (in a anonymous union), if I read the
> > idea correctly.
> 
> That was the initial implementation, and everything was fine until I
> tried gcc 4.4.1. Having an anonymous union breaks static initialization
> of the structure.

Bah, right. It wants to have brackets around it. So we can use a
separate pointer to get this going and then run coccinelle over it to
fix that up just before 3.2-rc1.

Thanks,

	tglx



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ