Re: [PATCH v2 4/4] x86/static_call: Add inline static call implementation for x86-64

From: Peter Zijlstra
Date: Mon Nov 26 2018 - 11:08:54 EST


On Mon, Nov 26, 2018 at 07:55:00AM -0600, Josh Poimboeuf wrote:
> +#ifdef CONFIG_HAVE_STATIC_CALL_INLINE
> +void arch_static_call_defuse_tramp(void *site, void *tramp)
> +{
> + unsigned short opcode = INSN_UD2;
> +
> + mutex_lock(&text_mutex);
> + text_poke((void *)tramp, &opcode, 2);
> + mutex_unlock(&text_mutex);
> +}
> +#endif

I would rather think that makes the trampoline _more_ dangerous, rather
than less so.

My dictionary sayeth:

defuse: verb

- remove the fuse from (an explosive device) in order to prevent it
from exploding.

- make (a situation) less tense or dangerous

patching in an UD2 seems to do the exact opposite.