5bc9e2d43f
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@intel.com> Reported-by: Dan Carpenter <error27@gmail.com> Link: https://lore.kernel.org/r/202303111822.IHNchbkp-lkp@intel.com/ Signed-off-by: Ondrej Zary <linux@zary.sk> Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
aten.c | ||
bpck.c | ||
bpck6.c | ||
comm.c | ||
dstr.c | ||
epat.c | ||
epia.c | ||
fit2.c | ||
fit3.c | ||
friq.c | ||
frpw.c | ||
kbic.c | ||
ktti.c | ||
on20.c | ||
on26.c | ||
pata_parport.c | ||
ppc6lnx.c |