Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0482b505 authored by Christoffer Dall's avatar Christoffer Dall
Browse files

arm64: mm: Add additional parameter to uaccess_ttbr0_disable



Add an extra temporary register parameter to uaccess_ttbr0_disable which
is about to be required for arm64 PAN support.

This patch doesn't introduce any functional change but ensures that the
kernel compiles once the KVM/ARM tree is merged with the arm64 tree by
ensuring a trivially mergable conflict with commit
6b88a32c
("arm64: kpti: Fix the interaction between ASID switching and software PAN").

Cc: Will Deacon <will.deacon@arm.com>
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
parent 448fadc8
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@
	isb
	.endm

	.macro	uaccess_ttbr0_disable, tmp1
	.macro	uaccess_ttbr0_disable, tmp1, tmp2
alternative_if_not ARM64_HAS_PAN
	__uaccess_ttbr0_disable \tmp1
alternative_else_nop_endif
@@ -39,7 +39,7 @@ alternative_if_not ARM64_HAS_PAN
alternative_else_nop_endif
	.endm
#else
	.macro	uaccess_ttbr0_disable, tmp1
	.macro	uaccess_ttbr0_disable, tmp1, tmp2
	.endm

	.macro	uaccess_ttbr0_enable, tmp1, tmp2, tmp3
@@ -49,8 +49,8 @@ alternative_else_nop_endif
/*
 * These macros are no-ops when UAO is present.
 */
	.macro	uaccess_disable_not_uao, tmp1
	uaccess_ttbr0_disable \tmp1
	.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
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ uao_user_alternative 9f, strh, sttrh, wzr, x0, 2
	b.mi	5f
uao_user_alternative 9f, strb, sttrb, wzr, x0, 0
5:	mov	x0, #0
	uaccess_disable_not_uao x2
	uaccess_disable_not_uao x2, x3
	ret
ENDPROC(__clear_user)

+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ ENTRY(__arch_copy_from_user)
	uaccess_enable_not_uao x3, x4
	add	end, x0, x2
#include "copy_template.S"
	uaccess_disable_not_uao x3
	uaccess_disable_not_uao x3, x4
	mov	x0, #0				// Nothing to copy
	ret
ENDPROC(__arch_copy_from_user)
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ ENTRY(raw_copy_in_user)
	uaccess_enable_not_uao x3, x4
	add	end, x0, x2
#include "copy_template.S"
	uaccess_disable_not_uao x3
	uaccess_disable_not_uao x3, x4
	mov	x0, #0
	ret
ENDPROC(raw_copy_in_user)
+1 −1
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ ENTRY(__arch_copy_to_user)
	uaccess_enable_not_uao x3, x4
	add	end, x0, x2
#include "copy_template.S"
	uaccess_disable_not_uao x3
	uaccess_disable_not_uao x3, x4
	mov	x0, #0
	ret
ENDPROC(__arch_copy_to_user)
Loading