On 3/15/23 07:58, Ondrej Zary wrote: > When ida_alloc() fails, "pi" is not freed although the misleading > comment says otherwise. > Move the ida_alloc() call up so we really don't have to free "pi" in > case of ida_alloc() failure. > > Also move ida_free() call from pi_remove_one() to > pata_parport_dev_release(). It was dereferencing already freed dev > pointer. > > Testing revealed leak even in non-failure case which was tracked down > to missing put_device() call after bus_find_device_by_name(). As a > result, pata_parport_dev_release() was never called. > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Reported-by: Dan Carpenter <error27@xxxxxxxxx> > Link: https://lore.kernel.org/r/202303111822.IHNchbkp-lkp@xxxxxxxxx/ > Signed-off-by: Ondrej Zary <linux@xxxxxxx> Applied to for-6.3-fixes. Thanks ! -- Damien Le Moal Western Digital Research