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

Russell King rmk+pcmcia at arm.linux.org.uk
Mon Oct 13 10:08:57 BST 2003

On Mon, Oct 13, 2003 at 08:00:04AM +0200, Dominik Brodowski wrote:
> I'd prefer an -partial- different approach: let's remove struct
> pcmcia_bus_socket at all, and put the necessary information into struct
> pcmcia_socket. This means that most of the code which is currently in ds.c
> needs to move into cs.c, or maybe a new pcmcia.c. However, we'll have only
> one reference counting for pcmcia devices; the "border" between ds.c and
> cs.c and between structs pcmcia_socket and pcmcia_bus_socket is somewhat 
> fuzzy. IMO it would be better to separate 
> 	a) core functions needed for socket management by both 16- and
> 	   32-bit cards,
> 	b) 32-bit card support, and
> 	c) 16-bit card support.
> If you want me to, I can write a patch within a week.

Err, no.

Firstly, you seem to have completely changed direction on this.  Not 6
months ago, you wanted to separate out the cardbus support from the
PCMCIA stuff.  Now you seem to be wanting to put everything into cs.c.

Secondly, I'm completely happy with the separation of ds.c from cs.c -
it makes sense as is.  If anything, we should be moving code from cs.c
to ds.c and data from struct pcmcia_socket to struct pcmcia_bus_socket
which is specific to 16-bit cards.

Thirdly, and this is the killer, Linus said to the people who committed
code for 2.6.0-test7:

| And you should _not_ spend any time at all doing cleanups. Zero. If you
| work for a Linux company, and your manager asks you to do cleanups, please
| put some poison in his morning cereal. Or something (if you like your
| manager - hah - just tell him why you shouldn't do cleanups).
| And if you see a bug, and there is an ugly but _immediate_ fix for it, do
| the ugly and immediate thing instead of trying to clean it up. Add a
| "FIXME!" comment if that makes your conscience feel better, but don't
| bother trying to do the clean thing that touches something else too.

Working on a patch to combine ds.c with cs.c is too risky, sounds too
developmental, and too much like a cleanup.

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