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: <20070209105737.GF5785@slug>
Date:	Fri, 9 Feb 2007 10:57:37 +0000
From:	Frederik Deweerdt <deweerdt@...e.fr>
To:	Jan Engelhardt <jengelh@...ux01.gwdg.de>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org, tglx@...utronix.de
Subject: Re: -mm merge plans for 2.6.21

On Fri, Feb 09, 2007 at 12:29:06AM +0100, Jan Engelhardt wrote:
> 
> On Feb 8 2007 15:07, Andrew Morton wrote:
> 
> >scheduled-removal-of-sa_xxx-interrupt-flags-fixups.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags-fixups-2.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags-ata-fix.patch
> >
> > This removes SA_INTERRUPT and friends, so 10000000 external drivers won't
> > compile any more.  I think I'd prefer to find a way to get usage of SA_* to
> > spit a deprecated warning.
> 
> Here's an idea:
> 
> #define SA_INTERRUPT sa_interrupt_with_warning()
> static inline int sa_interrupt_with_warning(void) {
>     if(more_or_less_often)
>         printk(fat_warning);
>     return 0x123456; /* whatever numerical value it is */
> }
> 
I'd say that we want to warn the developper, not the user, isn't it?
The attached patch marks the variables as __deprecated, and re-schedules
the removal for January 2008.

Regards,
Frederik


diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index b7c642c..4a5aad3 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -308,3 +308,12 @@ Why:   OSS drivers with ALSA replacements
 Who:   Adrian Bunk <bunk@...sta.de>
 
 ---------------------------
+
+What:	Interrupt only SA_* flags
+When:	January 2008
+Why:	The interrupt related SA_* flags are replaced by IRQF_* to move them
+	out of the signal namespace.
+
+Who:	Frederik Deweerdt <deweerdt@...e.fr>
+
+---------------------------
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index e66b458..472f2d2 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -52,6 +52,25 @@
 #define IRQF_PERCPU		0x00000400
 #define IRQF_NOBALANCING	0x00000800
 
+/*
+ * Migration helpers. Scheduled for removal in 1/2008
+ * SA_* flags are now deprecated, leaving time for out-of-the-tree drivers 
+ * to catch up.
+ *
+ * Do not use for new code !
+ */
+static const int __deprecated SA_INTERRUPT = IRQF_DISABLED;
+static const int __deprecated SA_SAMPLE_RANDOM = IRQF_SAMPLE_RANDOM;
+static const int __deprecated SA_SHIRQ = IRQF_SHARED;
+static const int __deprecated SA_PROBEIRQ = IRQF_PROBE_SHARED;
+static const int __deprecated SA_PERCPU = IRQF_PERCPU;
+
+static const int __deprecated SA_TRIGGER_LOW = IRQF_TRIGGER_LOW;
+static const int __deprecated SA_TRIGGER_HIGH = IRQF_TRIGGER_HIGH;
+static const int __deprecated SA_TRIGGER_FALLING = IRQF_TRIGGER_FALLING;
+static const int __deprecated SA_TRIGGER_RISING = IRQF_TRIGGER_RISING;
+static const int __deprecated SA_TRIGGER_MASK = IRQF_TRIGGER_MASK;
+
 typedef irqreturn_t (*irq_handler_t)(int, void *);
 
 struct irqaction {
-
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