Re: [PATCH 15/18] ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls

Bartlomiej Zolnierkiewicz
2008-03-29T15:55:55Z

On Thursday 27 March 2008, Sergei Shtylyov wrote:

[...]

> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>
> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>

Thanks for reviewing it.

> > Index: b/drivers/ide/ide-pnp.c
> > ===================================================================
> > --- a/drivers/ide/ide-pnp.c
> > +++ b/drivers/ide/ide-pnp.c
> [...]
> > @@ -655,52 +530,6 @@ void ide_init_port_hw(ide_hwif_t *hwif,
> > }
> > EXPORT_SYMBOL_GPL(ide_init_port_hw);
> >
> > -/**
> > - * ide_register_hw - register IDE interface
> > - * @hw: hardware registers
> > - * @quirkproc: quirkproc function
> > - * @hwifp: pointer to returned hwif
> > - *
> > - * Register an IDE interface, specifying exactly the registers etc.
> > - *
> > - * Returns -1 on error.
> > - */
> > -
> > -static int ide_register_hw(hw_regs_t *hw, void (*quirkproc)(ide_drive_t *),
> > - ide_hwif_t **hwifp)
> > -{
> > - int index, retry = 1;
> > - ide_hwif_t *hwif;
> > - u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
> > -
> > - do {
> > - hwif = ide_find_port(hw->io_ports[IDE_DATA_OFFSET]);
> > - index = hwif->index;
> > - if (hwif)
> > - goto found;
>
> Hm, I remember there was a patch that fixed the above bug where hwif is
> dereferenced before being checked for NULL, I wonder how come it was lost?

It has been already merged into Linus' tree
(commit 0c6025d44448bd688dfd351a09bc620aafa4d1ff).

Thanks,
Bart