Gentoo Archives: gentoo-commits

From: Mike Pagano <mpagano@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/linux-patches:5.10 commit in: /
Date: Sun, 11 Jul 2021 15:11:15
Message-Id: 1626016240.10611e78768a62db9ca233f50ba3f17e2451bc18.mpagano@gentoo
1 commit: 10611e78768a62db9ca233f50ba3f17e2451bc18
2 Author: Mike Pagano <mpagano <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jul 11 15:10:40 2021 +0000
4 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 11 15:10:40 2021 +0000
6 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=10611e78
7
8 Remove redundant patch
9
10 Removed: 1700_P9_save_and_restore_fscr.patch
11
12 Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>
13
14 0000_README | 4 ---
15 1700_P9_save_and_restore_fscr.patch | 56 -------------------------------------
16 2 files changed, 60 deletions(-)
17
18 diff --git a/0000_README b/0000_README
19 index 534b76a..908e68d 100644
20 --- a/0000_README
21 +++ b/0000_README
22 @@ -247,10 +247,6 @@ Patch: 1510_fs-enable-link-security-restrictions-by-default.patch
23 From: http://sources.debian.net/src/linux/3.16.7-ckt4-3/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch/
24 Desc: Enable link security restrictions by default.
25
26 -Patch: 1700_P9_save_and_restore_fscr.patch
27 -From: https://github.com/torvalds/linux/commit/25edcc50d76c.patch
28 -Desc: Fix qemu on P9 ppc64.
29 -
30 Patch: 2000_BT-Check-key-sizes-only-if-Secure-Simple-Pairing-enabled.patch
31 From: https://lore.kernel.org/linux-bluetooth/20190522070540.48895-1-marcel@××××××××.org/raw
32 Desc: Bluetooth: Check key sizes only when Secure Simple Pairing is enabled. See bug #686758
33
34 diff --git a/1700_P9_save_and_restore_fscr.patch b/1700_P9_save_and_restore_fscr.patch
35 deleted file mode 100644
36 index 59a7c7e..0000000
37 --- a/1700_P9_save_and_restore_fscr.patch
38 +++ /dev/null
39 @@ -1,56 +0,0 @@
40 -From 25edcc50d76c834479d11fcc7de46f3da4d95121 Mon Sep 17 00:00:00 2001
41 -From: Fabiano Rosas <farosas@×××××××××.com>
42 -Date: Thu, 4 Feb 2021 17:05:17 -0300
43 -Subject: [PATCH] KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path
44 -
45 -The Facility Status and Control Register is a privileged SPR that
46 -defines the availability of some features in problem state. Since it
47 -can be written by the guest, we must restore it to the previous host
48 -value after guest exit.
49 -
50 -This restoration is currently done by taking the value from
51 -current->thread.fscr, which in the P9 path is not enough anymore
52 -because the guest could context switch the QEMU thread, causing the
53 -guest-current value to be saved into the thread struct.
54 -
55 -The above situation manifested when running a QEMU linked against a
56 -libc with System Call Vectored support, which causes scv
57 -instructions to be run by QEMU early during the guest boot (during
58 -SLOF), at which point the FSCR is 0 due to guest entry. After a few
59 -scv calls (1 to a couple hundred), the context switching happens and
60 -the QEMU thread runs with the guest value, resulting in a Facility
61 -Unavailable interrupt.
62 -
63 -This patch saves and restores the host value of FSCR in the inner
64 -guest entry loop in a way independent of current->thread.fscr. The old
65 -way of doing it is still kept in place because it works for the old
66 -entry path.
67 -
68 -Signed-off-by: Fabiano Rosas <farosas@×××××××××.com>
69 -Signed-off-by: Paul Mackerras <paulus@××××××.org>
70 ----
71 - arch/powerpc/kvm/book3s_hv.c | 4 ++++
72 - 1 file changed, 4 insertions(+)
73 -
74 -diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
75 -index 89c686c17f0606..f6d470157fcb62 100644
76 ---- a/arch/powerpc/kvm/book3s_hv.c
77 -+++ b/arch/powerpc/kvm/book3s_hv.c
78 -@@ -3611,6 +3611,7 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit,
79 - unsigned long host_tidr = mfspr(SPRN_TIDR);
80 - unsigned long host_iamr = mfspr(SPRN_IAMR);
81 - unsigned long host_amr = mfspr(SPRN_AMR);
82 -+ unsigned long host_fscr = mfspr(SPRN_FSCR);
83 - s64 dec;
84 - u64 tb;
85 - int trap, save_pmu;
86 -@@ -3751,6 +3752,9 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit,
87 - if (host_amr != vcpu->arch.amr)
88 - mtspr(SPRN_AMR, host_amr);
89 -
90 -+ if (host_fscr != vcpu->arch.fscr)
91 -+ mtspr(SPRN_FSCR, host_fscr);
92 -+
93 - msr_check_and_set(MSR_FP | MSR_VEC | MSR_VSX);
94 - store_fp_state(&vcpu->arch.fp);
95 - #ifdef CONFIG_ALTIVEC