Re: [PATCH v3 0/6] locking/rwsem/x86: Add stack frame dependency for some inline asm

From: Josh Poimboeuf
Date: Wed Sep 20 2017 - 17:24:27 EST


On Tue, Sep 19, 2017 at 06:37:39PM -0500, Miguel Bernal Marin wrote:
> Some warning were showed by objtool using gcc 7.2.0
>
> kernel/locking/rwsem.o: warning: objtool: up_read()+0x11: call without frame pointer save/setup
> kernel/locking/rwsem.o: warning: objtool: up_write()+0x17: call without frame pointer save/setup
> kernel/locking/rwsem.o: warning: objtool: downgrade_write()+0x22: call without frame pointer save/setup
>
> which means gcc placed an inline asm function and its call instruction before
> the frame pointer setup.
>
> This series forces a stack frame to be created before the call instruction
> by listing the stack pointer as an output operand in the inline asm statement.
>
> Also to be easy to maintain and understand the operands from the extended
> assembler instructions were converted to named operands.

I've got a patch going around which will change the way we do this, so
you'll probably need to do a v3 after my patch gets merged. I'll add
you to cc for the next revision.

--
Josh