Re: [PATCH v2 1/3] objtool: check: Fully validate the stack frame

2020-10-13 Thread Julien Thierry
On 10/12/20 4:35 PM, Josh Poimboeuf wrote: On Mon, Oct 12, 2020 at 11:21:49AM +0100, Julien Thierry wrote: On 9/29/20 8:18 PM, Josh Poimboeuf wrote: "Stack frame" has more than one meaning now, I suppose. i.e. it could also include the callee-saved registers and any other stack space alloca

Re: [PATCH v2 1/3] objtool: check: Fully validate the stack frame

2020-10-12 Thread Josh Poimboeuf
On Mon, Oct 12, 2020 at 11:21:49AM +0100, Julien Thierry wrote: > On 9/29/20 8:18 PM, Josh Poimboeuf wrote: > > "Stack frame" has more than one meaning now, I suppose. i.e. it could > > also include the callee-saved registers and any other stack space > > allocated by the function. > > > > Would

Re: [PATCH v2 1/3] objtool: check: Fully validate the stack frame

2020-10-12 Thread Julien Thierry
On 9/29/20 8:18 PM, Josh Poimboeuf wrote: On Mon, Sep 28, 2020 at 10:36:29AM +0100, Julien Thierry wrote: +++ b/tools/objtool/arch/x86/include/cfi_regs.h @@ -22,4 +22,7 @@ #define CFI_RA16 #define CFI_NUM_REGS 17 A few more naming nitpicks: +#define ST

Re: [PATCH v2 1/3] objtool: check: Fully validate the stack frame

2020-09-29 Thread Josh Poimboeuf
On Mon, Sep 28, 2020 at 10:36:29AM +0100, Julien Thierry wrote: > +++ b/tools/objtool/arch/x86/include/cfi_regs.h > @@ -22,4 +22,7 @@ > #define CFI_RA 16 > #define CFI_NUM_REGS 17 A few more naming nitpicks: > +#define STACKFRAME_BP_OFFSET -16 > +#define STACKFRAME

[PATCH v2 1/3] objtool: check: Fully validate the stack frame

2020-09-28 Thread Julien Thierry
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 need to explicitly save the return address on the stack. Add the necessary checks to ver