]> git.itanic.dy.fi Git - linux-stable/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)
committerJiri Slaby <jslaby@suse.cz>
Mon, 28 Nov 2016 21:22:44 +0000 (22:22 +0100)
commit6246428d4cef994814f24b434c72a96a43948597
treeae57523bf52f258e48158d81f3e22777bd8a6b5e
parentfbc1defa1a925ea2f25ae2b519c84bdeb515e286
sparc64: Fix illegal relative branches in hypervisor patched TLB code.

[ Upstream commit b429ae4d5b565a71dfffd759dfcd4f6c093ced94 ]

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.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
arch/sparc/mm/ultra.S