scripts/kallsyms: fix definitely-lost memory leak
[ 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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
79a1eae9e4
commit
e9bcb92472
@@ -491,6 +491,8 @@ static void build_initial_tok_table(void)
|
|||||||
table[pos] = table[i];
|
table[pos] = table[i];
|
||||||
learn_symbol(table[pos].sym, table[pos].len);
|
learn_symbol(table[pos].sym, table[pos].len);
|
||||||
pos++;
|
pos++;
|
||||||
|
} else {
|
||||||
|
free(table[i].sym);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
table_cnt = pos;
|
table_cnt = pos;
|
||||||
|
|||||||
Reference in New Issue
Block a user