Skip to contentSkip to conversation

FAILED: patch "[PATCH] x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation" failed to apply to 5.16-stable tree

PATCH In review [email protected] 2 participants 3 messages Apr 4, 2022 – Apr 11, 2022

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 5.16-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 063452fd94d153d4eb38ad58f210f3d37a09cca4 Mon Sep 17 00:00:00 2001
From: Yang Zhong <[email protected]>
Date: Sat, 29 Jan 2022 09:36:46 -0800
Subject: [PATCH] x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation

ARCH_REQ_XCOMP_PERM is supposed to add the requested feature to the permission bitmap of thread_group_leader()->fpu. But the code overwrites the bitmap with the requested feature bit only rather than adding it.

Fix the code to add the requested feature bit to the master bitmask.

Fixes db8268df0983 ("x86/arch_prctl: Add controls for dynamic XSTATE components")
Cc Paolo Bonzini <[email protected]>
arch/x86/kernel/fpu/xstate.c +1 -1
index 7c7824ae7862..dc6d5e98d296 100644
@@ -1639,7 +1639,7 @@ static int __xstate_request_perm(u64 permitted, u64 requested, bool guest)
 
 	perm = guest ? &fpu->guest_perm : &fpu->perm;
 	/* Pairs with the READ_ONCE() in xstate_get_group_perm() */
-	WRITE_ONCE(perm->__state_perm, requested);
+	WRITE_ONCE(perm->__state_perm, mask);
 	/* Protected by sighand lock */
 	perm->__state_size = ksize;
 	perm->__user_state_size = usize;
#1 lore raw

PATCH 1/1 x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation

From: Yang Zhong <[email protected]>

This is backport for 5.16

Upstream commit 063452fd94d153d4eb38ad58f210f3d37a09cca4

ARCH_REQ_XCOMP_PERM is supposed to add the requested feature to the permission bitmap of thread_group_leader()->fpu. But the code overwrites the bitmap with the requested feature bit only rather than adding it.

Fix the code to add the requested feature bit to the master bitmask.

Fixes db8268df0983 ("x86/arch_prctl: Add controls for dynamic XSTATE components")
Cc Paolo Bonzini <[email protected]>
[chang: Backport for 5.16]
---
 arch/x86/kernel/fpu/xstate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86/kernel/fpu/xstate.c +1 -1
index d28829403ed0..fc1ab0116f4e 100644
@@ -1626,7 +1626,7 @@ static int __xstate_request_perm(u64 permitted, u64 requested)
 		return ret;
 
 	/* Pairs with the READ_ONCE() in xstate_get_group_perm() */
-	WRITE_ONCE(fpu->perm.__state_perm, requested);
+	WRITE_ONCE(fpu->perm.__state_perm, mask);
 	/* Protected by sighand lock */
 	fpu->perm.__state_size = ksize;
 	fpu->perm.__user_state_size = usize;
Signature · 1 line
2.17.1
author maintainer
#2 lore raw

Re: [PATCH][Rebased for 5.16] x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation

Quoted 21 lines · Chang S. Bae

From: Yang Zhong <[email protected]>

This is backport for 5.16

Upstream commit 063452fd94d153d4eb38ad58f210f3d37a09cca4

ARCH_REQ_XCOMP_PERM is supposed to add the requested feature to the permission bitmap of thread_group_leader()->fpu. But the code overwrites the bitmap with the requested feature bit only rather than adding it.

Fix the code to add the requested feature bit to the master bitmask.

Fixes db8268df0983 ("x86/arch_prctl: Add controls for dynamic XSTATE components")
Cc Paolo Bonzini <[email protected]>
[chang: Backport for 5.16]
Quoted 3 lines
---
 arch/x86/kernel/fpu/xstate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Now queued up, thanks.

greg k-h