objtool: Fully validate the stack frame
authorJulien Thierry <jthierry@redhat.com>
Wed, 14 Oct 2020 07:38:00 +0000 (08:38 +0100)
committerJosh Poimboeuf <jpoimboe@redhat.com>
Thu, 14 Jan 2021 00:13:09 +0000 (18:13 -0600)
commitfb084fde0c8106bc86df243411751c3421c07c08
tree4fab95754e67178bb0ba365ad92ddc2123cf5842
parent7c53f6b671f4aba70ff15e1b05148b10d58c2837
objtool: Fully validate the stack frame

A valid stack frame should contain both the return address and the
previous frame pointer value.

On x86, the return value is placed on the stack by the calling
instructions. On other architectures, the callee needs to explicitly
save the return address on the stack.

Add the necessary checks to verify a function properly sets up all the
elements of the stack frame.

Signed-off-by: Julien Thierry <jthierry@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
tools/objtool/check.c