AW: [CFT] 2.6.0-test7: Fix use-after-free bug in ds.

Russell King rmk+pcmcia at arm.linux.org.uk
Wed Oct 15 22:07:56 BST 2003


On Wed, Oct 15, 2003 at 03:55:19PM -0400, Pavel Roskin wrote:
> On Wed, 15 Oct 2003 linux at brodo.de wrote:
> > > Working on a patch to combine ds.c with cs.c is too risky, sounds too
> > > developmental, and too much like a cleanup.
> >
> > Of this statement I know of, and that statement is exatly the reason for
> > my statement yesterday where I said that now is not the time of large
> > development.
> 
> Why not?  We are having problems because we have two modules, ds and
> yenta_socket (or another socket driver) that can be inserted and removed
> in the random order.

I don't believe we are having problems surrounding the ordering of
these two modules anymore.  We could actually get around many of
these problems by backing out some of the bug fixes for these, and
restoring the "ds refuses to be inserted without socket driver
present" condition.

The current set of problems is due to the requirement to register
the class device in the same thread as the initial socket detection
because of an interaction between PCMCIA and the driver mode - we
can not add locking between the cs.c functions and the pccard thread;
doing so deadlocks the driver model.

Therefore, since we can not guarantee that the class device will
have registered by the time socket drivers regain control, we can
not register class device files in their initialisation functions.
Sysfs requires that the parent objects are registered prior to the
children being registered.

Note that my first paragraph above reinforces the reason to keep
cs.c completely separate from ds.c - in fact, we may even have to
revert back to that requirement to keep 2.6 working sanely.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core



More information about the linux-pcmcia mailing list