Patch "ARM: efistub: replace adrl pseudo-op with adr_l macro invocation" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ARM: efistub: replace adrl pseudo-op with adr_l macro invocation

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     arm-efistub-replace-adrl-pseudo-op-with-adr_l-macro-.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit cc0d8721f030921a8f0b5ebe0a2b88d0001d376b
Author: Ard Biesheuvel <ardb@xxxxxxxxxx>
Date:   Mon Sep 14 12:28:01 2020 +0300

    ARM: efistub: replace adrl pseudo-op with adr_l macro invocation
    
    commit 67e3f828bd4bf5e4eb4214dc4eb227d8f1c8a877 upstream.
    
    The ARM 'adrl' pseudo instruction is a bit problematic, as it does not
    exist in Thumb mode, and it is not implemented by Clang either. Since
    the Thumb variant has a slightly bigger range, it is sometimes necessary
    to emit the 'adrl' variant in ARM mode where Thumb mode can use adr just
    fine. However, that still leaves the Clang issue, which does not appear
    to be supporting this any time soon.
    
    So let's switch to the adr_l macro, which works for both ARM and Thumb,
    and has unlimited range.
    
    Reviewed-by: Nicolas Pitre <nico@xxxxxxxxxxx>
    Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
    Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index a0de09f994d8..247ce9055990 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -1440,8 +1440,7 @@ ENTRY(efi_enter_kernel)
 		mov	r4, r0			@ preserve image base
 		mov	r8, r1			@ preserve DT pointer
 
- ARM(		adrl	r0, call_cache_fn	)
- THUMB(		adr	r0, call_cache_fn	)
+		adr_l	r0, call_cache_fn
 		adr	r1, 0f			@ clean the region of code we
 		bl	cache_clean_flush	@ may run with the MMU off
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux