lkml.org 
[lkml]   [2019]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.4 110/134] scripts/kallsyms: fix definitely-lost memory leak
    Date
    From: Masahiro Yamada <yamada.masahiro@socionext.com>

    [ Upstream commit 21915eca088dc271c970e8351290e83d938114ac ]

    build_initial_tok_table() overwrites unused sym_entry to shrink the
    table size. Before the entry is overwritten, table[i].sym must be freed
    since it is malloc'ed data.

    This fixes the 'definitely lost' report from valgrind. I ran valgrind
    against x86_64_defconfig of v5.4-rc8 kernel, and here is the summary:

    [Before the fix]

    LEAK SUMMARY:
    definitely lost: 53,184 bytes in 2,874 blocks

    [After the fix]

    LEAK SUMMARY:
    definitely lost: 0 bytes in 0 blocks

    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    scripts/kallsyms.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
    index ae6504d07fd61..fb15f09e0e38c 100644
    --- a/scripts/kallsyms.c
    +++ b/scripts/kallsyms.c
    @@ -489,6 +489,8 @@ static void build_initial_tok_table(void)
    table[pos] = table[i];
    learn_symbol(table[pos].sym, table[pos].len);
    pos++;
    + } else {
    + free(table[i].sym);
    }
    }
    table_cnt = pos;
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-12-11 16:15    [W:2.861 / U:0.716 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site