mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
pcmcia: disable pcmcia ioctl for !ARM, prepare for removal
The PCMCIA ioctl -- deprecated for years -- suffers from insufficient locking. As it already has been deprecated for years, with its removal long overdue, limit it to !SMP and !PREEMPT. Furthermore, the last legitimate use of the ioctl to be reported relates to the ARM architecture in 2008.[1] Attempts to resolve this issue turned out unsuccessful so far.[2] Other usages have only been reported as hear-say. If there are any legitiate and necessary use-cases remaining, please speak out before the end of the grace period until 2.6.3{5,6}(-rc1). [1] http://lists.infradead.org/pipermail/linux-pcmcia/2008-April/005440.html see also: http://lkml.org/lkml/2008/2/27/291 [2] http://lists.infradead.org/pipermail/linux-pcmcia/2008-April/005450.html http://lists.infradead.org/pipermail/linux-pcmcia/2010-January/006740.html see also: http://lists.infradead.org/pipermail/linux-pcmcia/2008-April/005453.html CC: Russell King <rmk+kernel@arm.linux.org.uk> CC: Alan Cox <alan@lxorguk.ukuu.org.uk> CC: Robert P. J. Day <rpjday@crashcourse.ca> CC: Jaswinder Singh Rajput <jaswinder@kernel.org> CC: linux-kernel@vger.kernel.org Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
parent
6e83ee075e
commit
a3f916f2c8
@ -138,19 +138,25 @@ Who: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
|
What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
|
||||||
When: November 2005
|
When: 2.6.35/2.6.36
|
||||||
Files: drivers/pcmcia/: pcmcia_ioctl.c
|
Files: drivers/pcmcia/: pcmcia_ioctl.c
|
||||||
Why: With the 16-bit PCMCIA subsystem now behaving (almost) like a
|
Why: With the 16-bit PCMCIA subsystem now behaving (almost) like a
|
||||||
normal hotpluggable bus, and with it using the default kernel
|
normal hotpluggable bus, and with it using the default kernel
|
||||||
infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA
|
infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA
|
||||||
control ioctl needed by cardmgr and cardctl from pcmcia-cs is
|
control ioctl needed by cardmgr and cardctl from pcmcia-cs is
|
||||||
unnecessary, and makes further cleanups and integration of the
|
unnecessary and potentially harmful (it does not provide for
|
||||||
|
proper locking), and makes further cleanups and integration of the
|
||||||
PCMCIA subsystem into the Linux kernel device driver model more
|
PCMCIA subsystem into the Linux kernel device driver model more
|
||||||
difficult. The features provided by cardmgr and cardctl are either
|
difficult. The features provided by cardmgr and cardctl are either
|
||||||
handled by the kernel itself now or are available in the new
|
handled by the kernel itself now or are available in the new
|
||||||
pcmciautils package available at
|
pcmciautils package available at
|
||||||
http://kernel.org/pub/linux/utils/kernel/pcmcia/
|
http://kernel.org/pub/linux/utils/kernel/pcmcia/
|
||||||
Who: Dominik Brodowski <linux@brodo.de>
|
|
||||||
|
For all architectures except ARM, the associated config symbol
|
||||||
|
has been removed from kernel 2.6.34; for ARM, it will be likely
|
||||||
|
be removed from kernel 2.6.35. The actual code will then likely
|
||||||
|
be removed from kernel 2.6.36.
|
||||||
|
Who: Dominik Brodowski <linux@dominikbrodowski.net>
|
||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
|
@ -51,17 +51,23 @@ config PCMCIA_LOAD_CIS
|
|||||||
|
|
||||||
config PCMCIA_IOCTL
|
config PCMCIA_IOCTL
|
||||||
bool "PCMCIA control ioctl (obsolete)"
|
bool "PCMCIA control ioctl (obsolete)"
|
||||||
depends on PCMCIA
|
depends on PCMCIA && ARM && !SMP && !PREEMPT
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
If you say Y here, the deprecated ioctl interface to the PCMCIA
|
If you say Y here, the deprecated ioctl interface to the PCMCIA
|
||||||
subsystem will be built. It is needed by cardmgr and cardctl
|
subsystem will be built. It is needed by the deprecated pcmcia-cs
|
||||||
(pcmcia-cs) to function properly.
|
tools (cardmgr, cardctl) to function properly.
|
||||||
|
|
||||||
You should use the new pcmciautils package instead (see
|
You should use the new pcmciautils package instead (see
|
||||||
<file:Documentation/Changes> for location and details).
|
<file:Documentation/Changes> for location and details).
|
||||||
|
|
||||||
If unsure, say Y.
|
This config option will most likely be removed from kernel 2.6.35,
|
||||||
|
the associated code from kernel 2.6.36.
|
||||||
|
|
||||||
|
As the PCMCIA ioctl is not locking safe, it depends on !SMP and
|
||||||
|
!PREEMPT.
|
||||||
|
|
||||||
|
If unsure, say N.
|
||||||
|
|
||||||
config CARDBUS
|
config CARDBUS
|
||||||
bool "32-bit CardBus support"
|
bool "32-bit CardBus support"
|
||||||
|
Loading…
Reference in New Issue
Block a user