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.DEB.2.10.1505202215230.2642@hadrien>
Date:	Wed, 20 May 2015 22:15:56 +0200 (CEST)
From:	Julia Lawall <julia.lawall@...6.fr>
To:	Thomas Gleixner <tglx@...utronix.de>
cc:	Julia Lawall <julia.lawall@...6.fr>,
	Jiang Liu <jiang.liu@...ux.intel.com>,
	Bjorn Helgaas <bhelgaas@...gle.com>,
	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	Ingo Molnar <mingo@...hat.com>,
	"H. Peter Anvin" <hpa@...or.com>,
	"Rafael J. Wysocki" <rjw@...ysocki.net>,
	Randy Dunlap <rdunlap@...radead.org>,
	Yinghai Lu <yinghai@...nel.org>,
	Borislav Petkov <bp@...en8.de>,
	Jason Cooper <jason@...edaemon.net>,
	Kevin Cernekee <cernekee@...il.com>,
	Arnd Bergmann <arnd@...db.de>,
	Marc Zyngier <marc.zyngier@....com>,
	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
	Tony Luck <tony.luck@...el.com>, x86@...nel.org,
	LKML <linux-kernel@...r.kernel.org>, linux-pci@...r.kernel.org,
	linux-acpi@...r.kernel.org
Subject: Re: [RFC v1 14/25] genirq: Kill the first parameter 'irq' of
 irq_flow_handler_t



On Wed, 20 May 2015, Thomas Gleixner wrote:

> On Wed, 20 May 2015, Julia Lawall wrote:
> > On Wed, 20 May 2015, Thomas Gleixner wrote:
> > > The purpose of the script is to:
> > >
> > >     1) Identify all handlers
> > >
> > >        This can be done by analyzing the arguments of
> > >
> > >        	    __irq_set_handler()
> > > 	    irq_set_handler()
> > > 	    irq_set_chained_handler()
> > > 	    irq_alloc_generic_chip()
> > > 	    irq_alloc_domain_generic_chips()
> > > 	    irq_set_chip_and_handler_name()
> > > 	    irq_set_chip_and_handler()
> > > 	    __irq_set_handler_locked()
> > > 	    __irq_set_chip_handler_name_locked()
> > > 	    __irq_set_preflow_handler()
> > >
> > > 	If the argument is a function local to the file step 2 can
> > > 	take place.
> > >
> > > 	If it's a extern function, then the script should at least
> > > 	print out the function names. Those are in most of the cases
> > > 	the generic flow handler functions.
> >
> > Looks reasonable.
>
> Good.
>
> > >     2) Check the handlers whether they use the irq argument
> > >
> > >        For those which do:
> > >
> > >           Check whether they just use the argument instead of a local
> > >        	  variable, i.e. the first usage is an assignment. In that
> > >        	  case rename the argument to __irq and add a local variable
> > >
> > > 	      unsigned int irq;
> > >
> > > 	  If they use the irq argument for some computation or as
> > >        	  argument to another function, then you need to rename the
> > >        	  argument as well and add:
> > >
> > >        	      unsigned int irq = irq_get_desc_irq(desc);
> >
> > Scripting this may be a little complex, because the variable can be used
> > in one way in one execution path (eg if branch) and another way (or not at
> > all) in another.  Let me know if help is needed.
>
> I feared that, but at least identifying all functions, where the irq
> argument is used inside the function itself is really key for such a
> massive rework.

It's not impossible, but I may need to think a bit how best to do it.

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