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.LFD.2.00.1008261758450.2768@localhost.localdomain>
Date:	Thu, 26 Aug 2010 18:00:01 +0200 (CEST)
From:	Thomas Gleixner <tglx@...utronix.de>
To:	David Howells <dhowells@...hat.com>
cc:	linux-arch@...r.kernel.org, vapier@...too.org,
	linux-kernel@...r.kernel.org,
	uclinux-dist-devel@...ckfin.uclinux.org
Subject: Re: [PATCH 7/7] Fix IRQ flag handling naming

On Thu, 26 Aug 2010, David Howells wrote:

> Fix the IRQ flag handling naming.  In linux/irqflags.h under one configuration,
> it maps:
> 
> 	local_irq_enable() -> raw_local_irq_enable()
> 	local_irq_disable() -> raw_local_irq_disable()
> 	local_irq_save() -> raw_local_irq_save()
> 	...
> 
> and under the other configuration, it maps:
> 
> 	raw_local_irq_enable() -> local_irq_enable()
> 	raw_local_irq_disable() -> local_irq_disable()
> 	raw_local_irq_save() -> local_irq_save()
> 	...
> 
> This is quite confusing.  There should be one set of names expected of the
> arch, and this should be wrapped to give another set of names that are expected
> by users of this facility.
> 
> Change this to have the arch provide:
> 
> 	flags = arch_local_save_flags()
> 	flags = arch_local_irq_save()
> 	arch_local_irq_restore(flags)
> 	arch_local_irq_disable()
> 	arch_local_irq_enable()
> 	arch_irqs_disabled_flags(flags)
> 	arch_irqs_disabled()
> 	arch_safe_halt()
> 
> Then linux/irqflags.h wraps these to provide:
> 
> 	raw_local_save_flags(flags)
> 	raw_local_irq_save(flags)
> 	raw_local_irq_restore(flags)
> 	raw_local_irq_disable()
> 	raw_local_irq_enable()
> 	raw_irqs_disabled_flags(flags)
> 	raw_irqs_disabled()
> 	raw_safe_halt()
> 
> with type checking on the flags 'arguments', and then wraps those to provide:
> 
> 	local_save_flags(flags)
> 	local_irq_save(flags)
> 	local_irq_restore(flags)
> 	local_irq_disable()
> 	local_irq_enable()
> 	irqs_disabled_flags(flags)
> 	irqs_disabled()
> 	safe_halt()
> 
> with tracing included if enabled.
> 
> The arch functions can now all be inline functions rather than some of them
> having to be macros.

Nice one.
 
> [Note that this patch only alters X86, FRV, MN10300, ARM and Blackfin at the
>  moment.  The other arches will need altering too as part of this patch].
> 
> Signed-off-by: David Howells <dhowells@...hat.com>
> Tested-by: Catalin Marinas <catalin.marinas@....com>

Acked-by: Thomas Gleixner <tglx@...utronix.de>

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