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
| ||
|
Date: Thu, 12 May 2016 11:48:38 +0200 From: Daniel Wagner <wagi@...om.org> To: richard@...ma-star.at Cc: linux-kernel@...r.kernel.org, Daniel Wagner <daniel.wagner@...-carit.de> Subject: [RFC] um: Use asm-generic/irqflags.h From: Daniel Wagner <daniel.wagner@...-carit.de> Instead proving its own arch_local_irq_save() and arch_irqs_disabled() version use the generic version from asm-generic/irqflags.h. A nice side effect is that um gets a few additional arch_ functions as well. One problem though is the include for the signals. I could figured out which header file to pick without trigger a bunch of header include clashes. Leaving it away works though it is surely not the best practice. Signed-off-by: Daniel Wagner <daniel.wagner@...-carit.de> --- arch/um/include/asm/irqflags.h | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/arch/um/include/asm/irqflags.h b/arch/um/include/asm/irqflags.h index c780d8a..71c2d64 100644 --- a/arch/um/include/asm/irqflags.h +++ b/arch/um/include/asm/irqflags.h @@ -6,37 +6,35 @@ extern int set_signals(int enable); extern void block_signals(void); extern void unblock_signals(void); +#define arch_local_save_flags arch_local_save_flags static inline unsigned long arch_local_save_flags(void) { return get_signals(); } +#define arch_local_irq_restore arch_local_irq_restore static inline void arch_local_irq_restore(unsigned long flags) { set_signals(flags); } +#define arch_local_irq_enable arch_local_irq_enable static inline void arch_local_irq_enable(void) { unblock_signals(); } +#define arch_local_irq_disable arch_local_irq_disable static inline void arch_local_irq_disable(void) { block_signals(); } -static inline unsigned long arch_local_irq_save(void) -{ - unsigned long flags; - flags = arch_local_save_flags(); - arch_local_irq_disable(); - return flags; -} +/* #include <uapi/asm/signal.h> */ -static inline bool arch_irqs_disabled(void) -{ - return arch_local_save_flags() == 0; -} +#define ARCH_IRQ_DISABLED 0 +#define ARCh_IRQ_ENABLED (SIGIO|SIGVTALRM) + +#include <asm-generic/irqflags.h> #endif -- 2.5.5
Powered by blists - more mailing lists