[PATCH v2 0/3] locking/rwsem/x86: Add stack frame dependency for some inline asm

From: Miguel Bernal Marin
Date: Wed Sep 06 2017 - 18:46:34 EST


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.

Changes in v2:
- Update first parameter from _ASM_ADD to '%3' at __downgrade_write()

Miguel Bernal Marin (3):
locking/rwsem/x86: Add stack frame dependency for __up_read()
locking/rwsem/x86: Add stack frame dependency for __up_write()
locking/rwsem/x86: Add stack frame dependency for __downgrade_write()

arch/x86/include/asm/rwsem.h | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)

--
2.14.1