Skip to content
  • Josh Poimboeuf's avatar
    objtool, drm/vmwgfx: Fix "duplicate frame pointer save" warning · 0b0d81e3
    Josh Poimboeuf authored and Ingo Molnar's avatar Ingo Molnar committed
    
    
    objtool reports the following warnings:
    
      drivers/gpu/drm/vmwgfx/vmwgfx_msg.o: warning: objtool: vmw_send_msg()+0x107: duplicate frame pointer save
      drivers/gpu/drm/vmwgfx/vmwgfx_msg.o: warning: objtool: vmw_host_get_guestinfo()+0x252: duplicate frame pointer save
    
    To quote Linus:
    
     "The reason is that VMW_PORT_HB_OUT() uses a magic instruction sequence
      (a "rep outsb") to communicate with the hypervisor (it's a virtual GPU
      driver for vmware), and %rbp is part of the communication. So the
      inline asm does a save-and-restore of the frame pointer around the
      instruction sequence.
    
      I actually find the objtool warning to be quite reasonable, so it's
      not exactly a false positive, since in this case it actually does
      point out that the frame pointer won't be reliable over that
      instruction sequence.
    
      But in this particular case it just ends up being the wrong thing -
      the code is what it is, and %rbp just can't have the frame information
      due to annoying magic calling conventions."
    
    Silence the warnings by telling objtool to ignore the two functions
    which use the VMW_PORT_HB_{IN,OUT} macros.
    
    Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
    Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    Cc: DRI <dri-devel@lists.freedesktop.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/20160526184343.fdtjjjg67smmeekt@treble
    
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    0b0d81e3