Re: [PATCH] arm64/sme: Clearing TIF_SVE but not TIF_SME in za_set()

From: Mark Brown
Date: Tue Aug 23 2022 - 11:37:53 EST


On Tue, Aug 23, 2022 at 09:56:27AM +0800, Wang ShaoBo wrote:

> Clearing target's TIF_SVE but not current's TIF_SME in za_set(), as it indicates
> target's SVE storage unavailable.

> +++ b/arch/arm64/kernel/ptrace.c
> @@ -1084,7 +1084,7 @@ static int za_set(struct task_struct *target,
> if (!target->thread.sve_state) {
> sve_alloc(target);
> if (!target->thread.sve_state) {
> - clear_thread_flag(TIF_SME);
> + clear_tsk_thread_flag(target, TIF_SVE);
> ret = -ENOMEM;
> goto out;
> }

We didn't set TIF_SVE so we have no reason to clear it here, we know it
can't have been set since there was no sve_state allocated. The clear
of TIF_SME is happening on the wrong task though, and TBH is just
redudnant for similar reasons.

Attachment: signature.asc
Description: PGP signature