diff options
Diffstat (limited to 'arch/arm64/kernel/alternative.c')
| -rw-r--r-- | arch/arm64/kernel/alternative.c | 16 | 
1 files changed, 2 insertions, 14 deletions
| diff --git a/arch/arm64/kernel/alternative.c b/arch/arm64/kernel/alternative.c index d1757ef1b1e7..73039949b5ce 100644 --- a/arch/arm64/kernel/alternative.c +++ b/arch/arm64/kernel/alternative.c @@ -43,20 +43,8 @@ bool alternative_is_applied(u16 cpufeature)   */  static bool branch_insn_requires_update(struct alt_instr *alt, unsigned long pc)  { -	unsigned long replptr; - -	if (kernel_text_address(pc)) -		return true; - -	replptr = (unsigned long)ALT_REPL_PTR(alt); -	if (pc >= replptr && pc <= (replptr + alt->alt_len)) -		return false; - -	/* -	 * Branching into *another* alternate sequence is doomed, and -	 * we're not even trying to fix it up. -	 */ -	BUG(); +	unsigned long replptr = (unsigned long)ALT_REPL_PTR(alt); +	return !(pc >= replptr && pc <= (replptr + alt->alt_len));  }  #define align_down(x, a)	((unsigned long)(x) & ~(((unsigned long)(a)) - 1)) |