Subject: Re: linux-next: manual merge of the arm64 tree with the amr64-fixes tree

From: Will Deacon <[email-masked]>
Date: Thu, 21 Nov 2019 09:31:34 +0000

On Thu, Nov 21, 2019 at 08:24:46AM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the arm64 tree got a conflict in:
> 
>   arch/arm64/include/asm/asm-uaccess.h
> 
> between commit:
> 
>   e50be648aaa3 ("arm64: uaccess: Remove uaccess_*_not_uao asm macros")
> 
> from the amr64-fixes tree and commit:
> 
>   582f95835a8f ("arm64: entry: convert el0_sync to C")
> 
> from the arm64 tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc arch/arm64/include/asm/asm-uaccess.h
> index c764cc8fb3b6,a70575edae8e..000000000000
> --- a/arch/arm64/include/asm/asm-uaccess.h
> +++ b/arch/arm64/include/asm/asm-uaccess.h
> @@@ -57,13 -57,21 +57,4 @@@ alternative_else_nop_endi
>   	.macro	uaccess_ttbr0_enable, tmp1, tmp2, tmp3
>   	.endm
>   #endif
> --
> --/*
> -  * Remove the address tag from a virtual address, if present.
>  - * These macros are no-ops when UAO is present.
> -- */
> - 	.macro	untagged_addr, dst, addr
> - 	sbfx	\dst, \addr, #0, #56
> - 	and	\dst, \dst, \addr
>  -	.macro	uaccess_disable_not_uao, tmp1, tmp2
>  -	uaccess_ttbr0_disable \tmp1, \tmp2
>  -alternative_if ARM64_ALT_PAN_NOT_UAO
>  -	SET_PSTATE_PAN(1)
>  -alternative_else_nop_endif
> --	.endm
> --
>  -	.macro	uaccess_enable_not_uao, tmp1, tmp2, tmp3
>  -	uaccess_ttbr0_enable \tmp1, \tmp2, \tmp3
>  -alternative_if ARM64_ALT_PAN_NOT_UAO
>  -	SET_PSTATE_PAN(0)
>  -alternative_else_nop_endif
>  -	.endm

Yup, that's fine. Delete both of the uaccess macros (good riddance!).

Cheers,

Will