]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sparc64: Fix illegal relative branches in hypervisor patched TLB code.
authorDavid S. Miller <davem@davemloft.net>
Tue, 25 Oct 2016 23:23:26 +0000 (16:23 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 9 Mar 2017 03:30:02 +0000 (19:30 -0800)
commit8c4c6229b68660e44b7221f56f187f74032ef2b1
tree3348d4b52ef35b580458a8e3f0ff1fcad748abb0
parent99f5c128e14646987573e0e2b08bc649968384ee
sparc64: Fix illegal relative branches in hypervisor patched TLB code.

When we copy code over to patch another piece of code, we can only use
PC-relative branches that target code within that piece of code.

Such PC-relative branches cannot be made to external symbols because
the patch moves the location of the code and thus modifies the
relative address of external symbols.

Use an absolute jmpl to fix this problem.

Orabug: 25499527

Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit b429ae4d5b565a71dfffd759dfcd4f6c093ced94)
Signed-off-by: Allen Pais <allen.pais@oracle.com>
arch/sparc/mm/ultra.S