]> git.baikalelectronics.ru Git - kernel.git/commit
clk: vc5: fix use of memory after it has been kfree'd
authorColin Ian King <colin.king@canonical.com>
Thu, 25 Jun 2020 13:27:36 +0000 (14:27 +0100)
committerStephen Boyd <sboyd@kernel.org>
Thu, 23 Jul 2020 01:46:24 +0000 (18:46 -0700)
commitde528a8c8aec6522222f79bb0825ae0949cd78aa
tree111ee12ee0a1f660e805b1283c3bba2a4c527d2a
parent3bf579674fef1985498f06f8eebd9a294d926272
clk: vc5: fix use of memory after it has been kfree'd

There are a several places where printing an error message of
init.name occurs after init.name has been kfree'd. Also the failure
message is duplicated each time in the code. Fix this by adding
a registration error failure path for these cases, moving the
duplicated error messages to one common point and kfree'ing init.name
only after it has been used.

Changes also shrink the object code size by 171 bytes (x86-64, gcc 9.3):

Before:
   text    data     bss     dec     hex filename
  21057    3960      64   25081    61f9 drivers/clk/clk-versaclock5.o

After:
   text    data     bss     dec     hex filename
  20886    3960      64   24910    614e drivers/clk/clk-versaclock5.o

Addresses-Coverity: ("Use after free")
Fixes: d2631a04bdff ("clk: vc5: Allow Versaclock driver to support multiple instances")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20200625132736.88832-1-colin.king@canonical.com
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
[sboyd@kernel.org: Drop stray newline]
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-versaclock5.c