mbox series

[0/2,v2] mtd: onenand: samsung: Simplify code and fix leaks in error handling paths

Message ID cover.1512804011.git.christophe.jaillet@wanadoo.fr
Headers show
Series mtd: onenand: samsung: Simplify code and fix leaks in error handling paths | expand

Message

Christophe JAILLET Dec. 9, 2017, 7:24 a.m. UTC
The first patch converts 's3c_onenand_probe()' to devm_ functions.
This fixes a leak in one path (line 872).
This also free_irq which was not handled at all. (I hope I'm correct :) )

The 2nd patch is about an un-handled error code which looks spurious.
Not sure if I'm right.


While compile-testing it, I had to tweak the code because I don't have any
cross-compiler.
I commented the line "#include <asm/mach/flash.h>" and the compilation
succeeded. So maybe, this include is also useless.
I've left it as-is, though.


Theses patches have been compile-tested-only.


Christophe JAILLET (2):
  mtd: onenand: samsung: use devm_ function to simplify code and fix
    some leaks
  mtd: onenand: samsung: return an error if
    'mtd_device_parse_register()' fails

 drivers/mtd/onenand/samsung.c | 169 +++++++++---------------------------------
 1 file changed, 34 insertions(+), 135 deletions(-)

Comments

Boris Brezillon Dec. 9, 2017, 8:27 a.m. UTC | #1
On Sat,  9 Dec 2017 08:24:03 +0100
Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote:

> The first patch converts 's3c_onenand_probe()' to devm_ functions.
> This fixes a leak in one path (line 872).
> This also free_irq which was not handled at all. (I hope I'm correct :) )
> 
> The 2nd patch is about an un-handled error code which looks spurious.
> Not sure if I'm right.
> 
> 
> While compile-testing it, I had to tweak the code because I don't have any
> cross-compiler.

Oh come on! It's really not that complicated to install an arm toolchain
and cross compile the kernel.

> I commented the line "#include <asm/mach/flash.h>" and the compilation
> succeeded. So maybe, this include is also useless.

Yep, it's not surprising, the driver is really in a poor state. I also
noticed that buffers allocated with kmalloc are flagged as __iomem
regions, which is obviously wrong. And I fear we'll find plenty of other
issues if we dig a bit more.

> I've left it as-is, though.

Can be fixed in another patch.

> 
> 
> Theses patches have been compile-tested-only.
> 
> 
> Christophe JAILLET (2):
>   mtd: onenand: samsung: use devm_ function to simplify code and fix
>     some leaks
>   mtd: onenand: samsung: return an error if
>     'mtd_device_parse_register()' fails
> 
>  drivers/mtd/onenand/samsung.c | 169 +++++++++---------------------------------
>  1 file changed, 34 insertions(+), 135 deletions(-)
>