public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/1] clkdev: prevent potential memory leak when used in modules
@ 2015-05-06 10:24 Andy Shevchenko
  2015-05-06 10:24 ` [PATCH v4 1/1] clkdev: change prototype of clk_register_clkdev() Andy Shevchenko
  0 siblings, 1 reply; 6+ messages in thread
From: Andy Shevchenko @ 2015-05-06 10:24 UTC (permalink / raw)
  To: linux-kernel, Stephen Boyd, Mike Turquette, Lee Jones,
	Bryan Huntsman, Lorenzo Pieralisi, Ralf Baechle,
	Sylwester Nawrocki, Russell King - ARM Linux
  Cc: Andy Shevchenko

Since clk_register_clkdev() is exported for modules the caller should get a
pointer to the allocated resources. Otherwise the memory leak is guaranteed on
the ->remove() stage.

The patch changes the prototype of the clk_register_clkdev() to return a
pointer to the allocated resources. The caller should take care of the returned
variable and free allocated resources when needed. Together with the main
change the users are updated too.

The current change doesn't fix any present memory leak, thus developers and
maintainers should take care of it if needed.

The patch has been tested on x86 (*), thus requires to be tested on touched
architectures.

(*) On x86 there will be a user, more details at
    http://www.spinics.net/lists/kernel/msg1958587.html.

Changelog v4:
- rebase on recent linux-next
- add Ack from Sylwester Nawrocki

Changelog v3:
- fix compiler warnings
  drivers/clk/samsung/clk-pll.c:1304:3: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long int' [-Wformat=]
  drivers/clk/samsung/clk-s3c2410-dclk.c:323:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long int' [-Wformat=]
  drivers/clk/samsung/clk-s3c2410-dclk.c:243:6: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]

Changelog v2:
- update inplace documentation to mention clkdev_drop() that should be used to
  free the resources
- mention in cover letter that we have tested it on x86
- append Mika's Reviewed-by tag
- add Russel to the Cc list
- rebase on top of 4.0-rc1

Andy Shevchenko (1):
  clkdev: change prototype of clk_register_clkdev()

 arch/arm/mach-vexpress/spc.c           |  5 ++++-
 arch/mips/ath79/clock.c                |  6 +++---
 drivers/clk/clk-bcm2835.c              | 12 +++++++-----
 drivers/clk/clk-max-gen.c              |  9 ++++-----
 drivers/clk/clk-xgene.c                |  6 +++---
 drivers/clk/clkdev.c                   | 15 ++++++++++-----
 drivers/clk/samsung/clk-pll.c          | 15 +++++++++------
 drivers/clk/samsung/clk-s3c2410-dclk.c | 22 +++++++++++----------
 drivers/clk/samsung/clk.c              | 35 +++++++++++++++++++---------------
 include/linux/clkdev.h                 |  2 +-
 10 files changed, 73 insertions(+), 54 deletions(-)

-- 
2.1.4


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-05-08 11:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-06 10:24 [PATCH v4 0/1] clkdev: prevent potential memory leak when used in modules Andy Shevchenko
2015-05-06 10:24 ` [PATCH v4 1/1] clkdev: change prototype of clk_register_clkdev() Andy Shevchenko
2015-05-06 11:09   ` Russell King - ARM Linux
2015-05-06 12:34     ` Andy Shevchenko
2015-05-06 12:51       ` Russell King - ARM Linux
2015-05-08 11:01         ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox