Message ID | 20220823015627.4161141-1-bobo.shaobowang@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64/sme: Clearing TIF_SVE but not TIF_SME in za_set() | expand |
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.
diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c index 21da83187a60..66d5c7efb745 100644 --- a/arch/arm64/kernel/ptrace.c +++ 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; }
Clearing target's TIF_SVE but not current's TIF_SME in za_set(), as it indicates target's SVE storage unavailable. Fixes: 776b4a1cf364 ("arm64/sme: Add ptrace support for ZA") Signed-off-by: Wang ShaoBo <bobo.shaobowang@huawei.com> --- arch/arm64/kernel/ptrace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)