Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c818b2fa authored by Josh Poimboeuf's avatar Josh Poimboeuf Committed by Greg Kroah-Hartman
Browse files

objtool: Move objtool_file struct off the stack



commit 0c671812f152b628bd87c0af49da032cc2a2c319 upstream.

Objtool uses over 512k of stack, thanks to the hash table embedded in
the objtool_file struct.  This causes an unnecessarily large stack
allocation and breaks users with low stack limits.

Move the struct off the stack.

Fixes: 042ba73f ("objtool: Add several performance improvements")
Reported-by: default avatarVassili Karpov <moosotc@gmail.com>
Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/df92dcbc4b84b02ffa252f46876df125fb56e2d7.1552954176.git.jpoimboe@redhat.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 726c28f3
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2132,9 +2132,10 @@ static void cleanup(struct objtool_file *file)
	elf_close(file->elf);
}

static struct objtool_file file;

int check(const char *_objname, bool orc)
{
	struct objtool_file file;
	int ret, warnings = 0;

	objname = _objname;