linux-sg2042/drivers/mtd/nand
Julia Lawall 081976bcc0 mtd: brcmnand: improve memory management
This patch addresses two related memory management issues in the probe
function:

1. for_each_available_child_of_node performs an of_node_get on each
iteration, so a break out of the loop requires an of_node_put.

A simplified version of the semantic patch that fixes this problem is as
follows (http://coccinelle.lip6.fr):

// <smpl>
@@
expression root,e;
local idexpression child;
@@

 for_each_available_child_of_node(root, child) {
   ... when != of_node_put(child)
       when != e = child
(
   return child;
|
+  of_node_put(child);
?  return ...;
)
   ...
 }
// </smpl>

2. The devm_kzalloc'd data is not used if brcmnand_init_cs fails.  Free it
immediately, using devm_kfree in this case, instead of waiting for the
remove function.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2015-11-30 17:54:05 -08:00
..
bcm47xxnflash mtd: nand: bcm47xxnflash: show parent device in sysfs 2015-10-13 12:56:26 -07:00
brcmnand mtd: brcmnand: improve memory management 2015-11-30 17:54:05 -08:00
gpmi-nand mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
Kconfig mtd: nand: Allow MTD_NAND_BRCMNAND to be selected for ARM64 2015-10-12 14:17:40 -07:00
Makefile mtd: nand: vf610_nfc: Freescale NFC for VF610, MPC5125 and others 2015-09-29 13:47:58 -07:00
ams-delta.c mtd: nand: ams-delta: fix overwritten mtd_info->owner in initialization 2015-01-15 19:33:03 -08:00
atmel_nand.c mtd: nand: atmel_nand: constify atmel_nand_caps structures 2015-11-20 09:54:36 -08:00
atmel_nand_ecc.h mtd: atmel_nand: add a definition for the oob reserved bytes 2015-04-05 17:47:56 -07:00
atmel_nand_nfc.h mtd: atmel_nand: check NFC busy flag by HSMC_SR instead of NFC cmd regs 2015-03-11 09:49:28 -07:00
au1550nd.c mtd: nand: au1550nd: show parent device in sysfs 2015-10-13 12:56:25 -07:00
bf5xx_nand.c mtd: nand: pass page number to ecc->write_xxx() methods 2015-10-13 12:56:49 -07:00
cafe_nand.c mtd: nand: fix drivers abusing mtd->priv 2015-11-19 10:59:25 -08:00
cmx270_nand.c mtd: cmx270_nand: Remove unnecessary OOM messages 2014-01-03 11:22:29 -08:00
cs553x_nand.c mtd: cs553x_nand: Fix kasprintf() usage 2015-06-16 18:58:47 -07:00
davinci_nand.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
denali.c mtd: nand: pass page number to ecc->write_xxx() methods 2015-10-13 12:56:49 -07:00
denali.h mtd: nand: denali: max_banks calculation changed in revision 5.1 2015-09-29 11:44:59 -07:00
denali_dt.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
denali_pci.c mtd: denali_pci: switch to dev_err() 2015-08-18 17:21:37 -07:00
diskonchip.c arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
docg4.c mtd: nand: pass page number to ecc->write_xxx() methods 2015-10-13 12:56:49 -07:00
fsl_elbc_nand.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
fsl_ifc_nand.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
fsl_upm.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
fsmc_nand.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
gpio.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
hisi504_nand.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
jz4740_nand.c mtd: jz4740_nand: fix build on jz4740 after removing gpio.h 2015-11-16 10:48:15 -08:00
lpc32xx_mlc.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
lpc32xx_slc.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
mpc5121_nfc.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
mxc_nand.c mtd: mxc_nand: Remove bit-or operation with zero 2015-11-17 10:42:42 -08:00
nand_base.c Merge MTD 4.4 development into MTD -next 2015-11-16 14:46:13 -08:00
nand_bbt.c mtd: nand_bbt: set the smallest size of bbt table 2015-10-11 12:58:28 -07:00
nand_bch.c mtd: cleanup style on pr_debug messages 2011-09-11 15:02:16 +03:00
nand_ecc.c mtd: nand: add line feed to pr_err 2014-04-16 00:18:26 -07:00
nand_ids.c mtd: nand: add Toshiba TC58NVG0S3E to nand_ids table 2015-08-25 12:24:02 -07:00
nand_timings.c mtd: nand: Use ULL-suffix for big u64 constant 2014-08-19 11:53:09 -07:00
nandsim.c mtd: nandsim: drop null test before destroy functions 2015-09-21 17:04:50 -07:00
ndfc.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
nuc900_nand.c mtd: nand: nuc900_nand: show parent device in sysfs 2015-10-13 12:56:33 -07:00
omap2.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
omap_elm.c mtd: omap_elm: Fix module alias 2015-08-18 17:57:46 -07:00
orion_nand.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
pasemi_nand.c mtd: nand: pasemi_nand: show parent device in sysfs 2015-10-13 12:56:39 -07:00
plat_nand.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
pxa3xx_nand.c mtd: nand: fix drivers abusing mtd->priv 2015-11-19 10:59:25 -08:00
r852.c mtd: nand: r852: drop owner assignment 2015-10-13 12:56:35 -07:00
r852.h mtd: r852: remove useless pci powerup/down from suspend/resume routines 2010-10-25 01:32:21 +01:00
s3c2410.c mtd: nand: s3c2410: show parent device in sysfs 2015-10-13 12:56:42 -07:00
sh_flctl.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
sharpsl.c mtd: nand: sharpsl: show parent device in sysfs 2015-10-13 12:56:42 -07:00
sm_common.c mtd: nand: refactor chip->block_markbad interface 2013-08-30 16:47:52 +01:00
sm_common.h mtd: use __packed shorthand 2014-08-19 11:53:08 -07:00
socrates_nand.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
sunxi_nand.c mtd: nand: drop unnecessary partition parser data 2015-11-11 13:58:45 -08:00
tmio_nand.c mtd: nand: tmio_nand: show parent device in sysfs 2015-10-13 12:56:37 -07:00
txx9ndfmc.c mtd: nand: txx9ndfmc: show parent device in sysfs 2015-10-13 12:56:48 -07:00
vf610_nfc.c mtd: nand: convert to nand_get_flash_node() 2015-11-11 15:54:15 -08:00
xway_nand.c mtd: plat_nand: use default partition probe 2015-05-27 12:34:35 -07:00