[MODERATED] Re: [PATCH v5 6/8] NX 6
Kanth Ghatraju <[email protected]>
| Newsgroups | org.kernel.lore.historical-speck |
|---|---|
| Message-ID | <[email protected]> |
Hi Ben, A couple of options: 1. You could revert 6ca18b6950f8dee29361722f28f69847724b276f with commit 7390de1e99a70895721165d0ccd4a6e16482960a 2. Use kvm_mmu_invalidate_zap_all_pages() -kanth > On Oct 9, 2019, at 6:42 PM, speck for Ben Hutchings <[email protected]> wrote: > > On Mon, 2019-07-01 at 15:52 +0200, speck for Paolo Bonzini wrote: >> From: Paolo Bonzini <[email protected]> >> Subject: [PATCH 6/8] kvm: mmu: ITLB_MULTIHIT mitigation > [...] >> +static int set_nx_huge_pages(const char *val, const struct kernel_param *kp) >> +{ >> + bool old_val = nx_huge_pages; >> + bool new_val; >> + >> + /* In "auto" mode deploy workaround only if CPU has the bug. */ >> + if (sysfs_streq(val, "off")) >> + new_val = 0; >> + else if (sysfs_streq(val, "force")) >> + new_val = 1; >> + else if (sysfs_streq(val, "auto")) >> + new_val = boot_cpu_has_bug(X86_BUG_ITLB_MULTIHIT); >> + else if (strtobool(val, &new_val) < 0) >> + return -EINVAL; >> + >> + __set_nx_huge_pages(new_val); >> + >> + if (new_val != old_val) { >> + struct kvm *kvm; >> + int idx; >> + >> + mutex_lock(&kvm_lock); >> + >> + list_for_each_entry(kvm, &vm_list, vm_list) { >> + idx = srcu_read_lock(&kvm->srcu); >> + kvm_mmu_zap_all(kvm); >> + srcu_read_unlock(&kvm->srcu, idx); >> + } >> + mutex_unlock(&kvm_lock); >> + } > [...] > > I've started trying to backport the NX patches to stable branches, and > I think I can take them back as far as 4.9. > > However, kvm_mmu_zap_all() is a relatively new addition and looks hard > to backport. I intend to make the nx_huge_pages parameter read-only > (0444 permissions) and delete this "if (new_val != old_val)" block. > Does that seem reasonable? > > Ben. > > -- > Ben Hutchings > Humans are not rational beings; they are rationalising beings. >
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEg8OoU+fZatIlEeG7RKoKlxvgTNUFAl2eZy4ACgkQRKoKlxvg TNWVnxAAhkznQB/A13AB6SSyN5ei1C2JGKNu59xU2sNW2JwyJvT2vekTZsdMzu50 apZozswwcuYckGRTaPKC8Hoh4JllGTrZkVZ1Js4g6yshj3JWrhyMpVjv5EMRUmUn B3MyPR6Vj55aaiXMoG0qIHlkQoZZ+M4KZCIMsDaiG+W7tsoyj2kSGbmBRSTWttMP dm9os5dkdEUOBHYYh1N0NT405tSXW2gBTZ6CplSIUh5mfp3+NjVVzkPP4Ke95vlK Sb1scUrmvDOWMICe2bCkvUubcLvV0IgOJIwLhsrry3ar/kuGgG5n9Uk5LQfqUbvw Pq2C9pRveDcRCE8Pl53wNwkl3xA17J4Ya7Y4gFsW7pFnWpSNywPsOlEHSfJ67VJq PNEVyd3PAkDL+tybAqYhgHBWbACjdSqwG7kWmE+lnEMLmIE8jNwgaUQLOsUsift7 ZXZqvNy1uaawKmymAVu0U7g6hvKg3jPUtdNEBjEupcTUoVguH+NmoUo3HEo05LgT AYvX/Y0mQMp2tG25JeFMo7gsT2hpI+Gc572jRTA5iHzsfCN0wFj6P9gZHygkvx9k ktYr1QAM7v6exxOrHN3B2J5LvdLl5Rx/whK+XYEwUmnjMyzR+ZM0+4gKeZTk2R4c HrNFtxhRyvHM986DgRP8Rj8Frb0CGnMbzddOsjGv8+JK1qAQOPU= =imfW -----END PGP SIGNATURE-----