]> git.baikalelectronics.ru Git - kernel.git/commit
drm/vmwgfx: Fix 32-bit VMW_PORT_HB_[IN|OUT] macros
authorThomas Hellstrom <thellstrom@vmware.com>
Wed, 23 May 2018 14:11:24 +0000 (16:11 +0200)
committerThomas Hellstrom <thellstrom@vmware.com>
Wed, 23 May 2018 14:11:24 +0000 (16:11 +0200)
commitdda11b7e2386eaed549fda6a7dc6cbf74534b63d
tree8cc17941da3d8775a7c84281eb1268eb34a12654
parent9aa0d03b52b10e48f1d9db9ba30101bf0701e926
drm/vmwgfx: Fix 32-bit VMW_PORT_HB_[IN|OUT] macros

Depending on whether the kernel is compiled with frame-pointer or not,
the temporary memory location used for the bp parameter in these macros
is referenced relative to the stack pointer or the frame pointer.
Hence we can never reference that parameter when we've modified either
the stack pointer or the frame pointer, because then the compiler would
generate an incorrect stack reference.

Fix this by pushing the temporary memory parameter on a known location on
the stack before modifying the stack- and frame pointers.

Cc: <stable@vger.kernel.org>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
drivers/gpu/drm/vmwgfx/vmwgfx_msg.h