diff mbox series

arm64: mte: fix prctl(PR_GET_TAGGED_ADDR_CTRL) if TCF0=NONE

Message ID 20201203075110.2781021-1-pcc@google.com (mailing list archive)
State New, archived
Headers show
Series arm64: mte: fix prctl(PR_GET_TAGGED_ADDR_CTRL) if TCF0=NONE | expand

Commit Message

Peter Collingbourne Dec. 3, 2020, 7:51 a.m. UTC
Previously we were always returning a tag inclusion mask of zero via
PR_GET_TAGGED_ADDR_CTRL if TCF0 was set to NONE. Fix it by making
the code for the NONE case match the others.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Link: https://linux-review.googlesource.com/id/Iefbea66cf7d2b4c80b82f9639b9ea7f33f7fac53
---
 arch/arm64/kernel/mte.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Catalin Marinas Dec. 3, 2020, 2:51 p.m. UTC | #1
On Wed, Dec 02, 2020 at 11:51:10PM -0800, Peter Collingbourne wrote:
> Previously we were always returning a tag inclusion mask of zero via
> PR_GET_TAGGED_ADDR_CTRL if TCF0 was set to NONE. Fix it by making
> the code for the NONE case match the others.
> 
> Signed-off-by: Peter Collingbourne <pcc@google.com>
> Link: https://linux-review.googlesource.com/id/Iefbea66cf7d2b4c80b82f9639b9ea7f33f7fac53
> ---
>  arch/arm64/kernel/mte.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kernel/mte.c b/arch/arm64/kernel/mte.c
> index 52a0638ed967..ef15c8a2a49d 100644
> --- a/arch/arm64/kernel/mte.c
> +++ b/arch/arm64/kernel/mte.c
> @@ -189,7 +189,8 @@ long get_mte_ctrl(struct task_struct *task)
>  
>  	switch (task->thread.sctlr_tcf0) {
>  	case SCTLR_EL1_TCF0_NONE:
> -		return PR_MTE_TCF_NONE;
> +		ret |= PR_MTE_TCF_NONE;
> +		break;
>  	case SCTLR_EL1_TCF0_SYNC:
>  		ret |= PR_MTE_TCF_SYNC;
>  		break;

With a fixes tag:

Fixes: af5ce95282dc ("arm64: mte: Allow user control of the generated random tags via prctl()")
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>

Will, if you have another pull request for 5.10, please pick this up as
well (it's an ABI fix so it would be nice to get it in the first release
with MTE support). Otherwise I'll queue it at -rc1 and cc stable.

Thanks.
Will Deacon Dec. 3, 2020, 6:38 p.m. UTC | #2
On Wed, 2 Dec 2020 23:51:10 -0800, Peter Collingbourne wrote:
> Previously we were always returning a tag inclusion mask of zero via
> PR_GET_TAGGED_ADDR_CTRL if TCF0 was set to NONE. Fix it by making
> the code for the NONE case match the others.

Applied to arm64 (for-next/fixes), thanks!

[1/1] arm64: mte: fix prctl(PR_GET_TAGGED_ADDR_CTRL) if TCF0=NONE
      https://git.kernel.org/arm64/c/929c1f3384d7

Cheers,
diff mbox series

Patch

diff --git a/arch/arm64/kernel/mte.c b/arch/arm64/kernel/mte.c
index 52a0638ed967..ef15c8a2a49d 100644
--- a/arch/arm64/kernel/mte.c
+++ b/arch/arm64/kernel/mte.c
@@ -189,7 +189,8 @@  long get_mte_ctrl(struct task_struct *task)
 
 	switch (task->thread.sctlr_tcf0) {
 	case SCTLR_EL1_TCF0_NONE:
-		return PR_MTE_TCF_NONE;
+		ret |= PR_MTE_TCF_NONE;
+		break;
 	case SCTLR_EL1_TCF0_SYNC:
 		ret |= PR_MTE_TCF_SYNC;
 		break;