Commit d856bc3a authored by Christophe Leroy's avatar Christophe Leroy Committed by Madhavan Srinivasan
Browse files

static_call_inline: Provide trampoline address when updating sites



In preparation of support of inline static calls on powerpc, provide
trampoline address when updating sites, so that when the destination
function is too far for a direct function call, the call site is
patched with a call to the trampoline.

Signed-off-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: default avatarMadhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/5efe0cffc38d6f69b1ec13988a99f1acff551abf.1733245362.git.christophe.leroy@csgroup.eu
parent 65acbd12
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -158,7 +158,7 @@ void arch_static_call_transform(void *site, void *tramp, void *func, bool tail)
{
	mutex_lock(&text_mutex);

	if (tramp) {
	if (tramp && !site) {
		__static_call_validate(tramp, true, true);
		__static_call_transform(tramp, __sc_insn(!func, true), func, false);
	}
+1 −1
Original line number Diff line number Diff line
@@ -206,7 +206,7 @@ void __static_call_update(struct static_call_key *key, void *tramp, void *func)
				continue;
			}

			arch_static_call_transform(site_addr, NULL, func,
			arch_static_call_transform(site_addr, tramp, func,
						   static_call_is_tail(site));
		}
	}