Commit 35140d39 authored by Yinan Liu's avatar Yinan Liu Committed by Steven Rostedt
Browse files

script/sorttable: Fix some initialization problems

elf_mcount_loc and mcount_sort_thread definitions are not
initialized immediately within the function, which can cause
the judgment logic to use uninitialized values when the
initialization logic of subsequent code fails.

Link: https://lkml.kernel.org/r/20211212113358.34208-2-yinan@linux.alibaba.com
Link: https://lkml.kernel.org/r/20220118065241.42364-1-yinan@linux.alibaba.com



Fixes: 72b3942a ("scripts: ftrace - move the sort-processing in ftrace_init")
Tested-by: default avatarNathan Chancellor <nathan@kernel.org>
Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
Signed-off-by: default avatarYinan Liu <yinan@linux.alibaba.com>
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent f37c3bbc
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -199,6 +199,8 @@ static int compare_extable(const void *a, const void *b)
	return 0;
}
#ifdef MCOUNT_SORT_ENABLED
pthread_t mcount_sort_thread;

struct elf_mcount_loc {
	Elf_Ehdr *ehdr;
	Elf_Shdr *init_data_sec;
@@ -282,10 +284,9 @@ static int do_sort(Elf_Ehdr *ehdr,
	unsigned int shnum;
	unsigned int shstrndx;
#ifdef MCOUNT_SORT_ENABLED
	struct elf_mcount_loc mstruct;
	struct elf_mcount_loc mstruct = {0};
	uint_t _start_mcount_loc = 0;
	uint_t _stop_mcount_loc = 0;
	pthread_t mcount_sort_thread;
#endif
#if defined(SORTTABLE_64) && defined(UNWINDER_ORC_ENABLED)
	unsigned int orc_ip_size = 0;