linux/drivers/mtd
Artem Bityutskiy 01a4110d2b UBI: fix oops in error path
This patch fixes an oops in the error path of 'ubi_attach_mtd_dev()'. If
anything after 'uif_init()' fails, we get an oops in 'cancel_pending()'. The
reason is that 'uif_close()' drops the last reference count for 'ubi->dev' and
whole 'struct ubi_device' is freed. And then
'ubi_wl_close()'->'cancel_pending()' tries to access the 'ubi' pointer and
problems begin.

Note, in 'ubi_detach_mtd_dev()' function we get a device reference to
work-around this issue. Do the same in the error path of
'ubi_attach_mtd_dev()'.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
2011-06-01 11:23:12 +03:00
..
chips mtd: remove duplicate assignment of chip->state 2011-05-25 02:11:13 +01:00
devices mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
lpddr mtd: remove duplicate assignment of chip->state 2011-05-25 02:11:13 +01:00
maps Merge git://git.infradead.org/mtd-2.6 2011-05-27 20:06:53 -07:00
nand Merge git://git.infradead.org/mtd-2.6 2011-05-27 20:06:53 -07:00
onenand mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
tests mtd: speedtest: fix integer overflow 2011-03-11 14:22:49 +00:00
ubi UBI: fix oops in error path 2011-06-01 11:23:12 +03:00
afs.c mtd: Update copyright notices 2010-08-08 20:58:20 +01:00
ar7part.c [MTD] mtdpart: Make all partition parsers return allocated array 2009-03-20 18:55:17 +00:00
cmdlinepart.c mtd: Update copyright notices 2010-08-08 20:58:20 +01:00
ftl.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
inftlcore.c mtd: Update copyright notices 2010-08-08 20:58:20 +01:00
inftlmount.c mtd: Remove obsolete <mtd/compatmac.h> include 2010-08-08 21:19:42 +01:00
Kconfig Merge git://git.infradead.org/mtd-2.6 2011-05-27 20:06:53 -07:00
Makefile mtd: kill CONFIG_MTD_PARTITIONS 2011-05-25 02:25:35 +01:00
mtd_blkdevs.c mtd: mtd_blkdevs: fix error path in blktrans_open 2011-05-25 01:53:45 +01:00
mtdblock_ro.c mtd: Update copyright notices 2010-08-08 20:58:20 +01:00
mtdblock.c Fix common misspellings 2011-03-31 11:26:23 -03:00
mtdchar.c mtd: kill CONFIG_MTD_PARTITIONS 2011-05-25 02:25:35 +01:00
mtdconcat.c mtd: mtdconcat: fix NAND OOB write 2011-05-25 01:54:50 +01:00
mtdcore.c mtd: remove add_mtd_partitions, add_mtd_device and friends 2011-05-25 02:25:16 +01:00
mtdcore.h mtd: remove add_mtd_partitions, add_mtd_device and friends 2011-05-25 02:25:16 +01:00
mtdoops.c Merge git://git.infradead.org/mtd-2.6 2011-01-17 11:15:30 -08:00
mtdpart.c mtd: remove add_mtd_partitions, add_mtd_device and friends 2011-05-25 02:25:16 +01:00
mtdsuper.c convert get_sb_mtd() users to ->mount() 2010-10-29 04:16:26 -04:00
mtdswap.c mtd: mtdswap: fix possible null dereference 2011-05-25 02:11:44 +01:00
nftlcore.c mtd: Update copyright notices 2010-08-08 20:58:20 +01:00
nftlmount.c mtd: Update copyright notices 2010-08-08 20:58:20 +01:00
ofpart.c mtd: Fix endianness issues from device tree 2010-10-25 00:55:56 +01:00
redboot.c mtd: Update copyright notices 2010-08-08 20:58:20 +01:00
rfd_ftl.c mtd: Update copyright notices 2010-08-08 20:58:20 +01:00
sm_ftl.c Fix common misspellings 2011-03-31 11:26:23 -03:00
sm_ftl.h mtd: sm_ftl: cosmetic, use bool when possible 2010-10-25 01:33:08 +01:00
ssfdc.c mtd: Update copyright notices 2010-08-08 20:58:20 +01:00