[SRU][B/J/K][PATCH 1/1] x86/bugs: Flush IBP in ib_prctl_set()

Yuxuan Luo yuxuan.luo at canonical.com
Thu Feb 9 17:54:34 UTC 2023


From: Rodrigo Branco <bsdaemon at google.com>

We missed the window between the TIF flag update and the next reschedule.

Signed-off-by: Rodrigo Branco <bsdaemon at google.com>
Reviewed-by: Borislav Petkov (AMD) <bp at alien8.de>
Signed-off-by: Ingo Molnar <mingo at kernel.org>
Cc: <stable at vger.kernel.org>
(cherry picked from commit a664ec9158eeddd75121d39c9a0758016097fa96)
CVE-2023-0045
Signed-off-by: Yuxuan Luo <yuxuan.luo at canonical.com>
---
 arch/x86/kernel/cpu/bugs.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index fc4bee4b17fb7..45f21906e7ab6 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -1776,6 +1776,8 @@ static int ib_prctl_set(struct task_struct *task, unsigned long ctrl)
 		if (ctrl == PR_SPEC_FORCE_DISABLE)
 			task_set_spec_ib_force_disable(task);
 		task_update_spec_tif(task);
+		if (task == current)
+			indirect_branch_prediction_barrier();
 		break;
 	default:
 		return -ERANGE;
-- 
2.34.1




More information about the kernel-team mailing list