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

From: Bartlomiej Zolnierkiewicz <[email-masked]>
Date: Sat, 29 Mar 2008 17:03:24 +0100

On Thursday 27 March 2008, Sergei Shtylyov wrote:

[...]

> > Signed-off-by: Bartlomiej Zolnierkiewicz <[email-masked]>
> 
> Acked-by: Sergei Shtylyov <[email-masked]>

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