Lines Matching refs:dest
122 static bool skip_addr(void *dest) in skip_addr() argument
124 if (dest == error_entry) in skip_addr()
126 if (dest == paranoid_entry) in skip_addr()
128 if (dest == xen_error_entry) in skip_addr()
131 if (dest == __switch_to_asm) in skip_addr()
134 if (dest == ret_from_fork) in skip_addr()
137 if (dest == soft_restart_cpu) in skip_addr()
141 if (dest == __fentry__) in skip_addr()
145 if (dest >= (void *)relocate_kernel && in skip_addr()
146 dest < (void*)relocate_kernel + KEXEC_CONTROL_CODE_MAX_SIZE) in skip_addr()
150 if (dest >= (void *)hypercall_page && in skip_addr()
151 dest < (void*)hypercall_page + PAGE_SIZE) in skip_addr()
160 void *dest; in call_get_dest() local
171 dest = addr + insn.length + insn.immediate.value; in call_get_dest()
172 if (skip_addr(dest)) in call_get_dest()
174 return dest; in call_get_dest()
184 static void *patch_dest(void *dest, bool direct) in patch_dest() argument
187 u8 *pad = dest - tsize; in patch_dest()
195 pr_warn_once("Invalid padding area for %pS\n", dest); in patch_dest()
208 void *pad, *dest; in patch_call() local
214 dest = call_get_dest(addr); in patch_call()
215 if (!dest || WARN_ON_ONCE(IS_ERR(dest))) in patch_call()
218 if (!is_coretext(ct, dest)) in patch_call()
221 pad = patch_dest(dest, within_coretext(ct, dest)); in patch_call()
226 dest, dest, pad); in patch_call()
279 void *callthunks_translate_call_dest(void *dest) in callthunks_translate_call_dest() argument
285 if (!thunks_initialized || skip_addr(dest)) in callthunks_translate_call_dest()
286 return dest; in callthunks_translate_call_dest()
288 if (!is_coretext(NULL, dest)) in callthunks_translate_call_dest()
289 return dest; in callthunks_translate_call_dest()
291 target = patch_dest(dest, false); in callthunks_translate_call_dest()
292 return target ? : dest; in callthunks_translate_call_dest()
300 unsigned long dest; in is_callthunk() local
302 dest = roundup((unsigned long)addr, CONFIG_FUNCTION_ALIGNMENT); in is_callthunk()
303 if (!thunks_initialized || skip_addr((void *)dest)) in is_callthunk()
306 return !bcmp((void *)(dest - tmpl_size), tmpl, tmpl_size); in is_callthunk()