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

2017-09-05 Thread Miguel Bernal Marin
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.

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



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

2017-09-05 Thread Miguel Bernal Marin
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.

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