From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Lutomirski Subject: [PATCH v4 2/5] x86/msr: Carry on after a non-"safe" MSR access fails without !panic_on_oops Date: Sat, 12 Mar 2016 10:08:49 -0800 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: In-Reply-To: References: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: X86 ML Cc: KVM list , Peter Zijlstra , Linus Torvalds , "linux-kernel@vger.kernel.org" , xen-devel , Borislav Petkov , Andy Lutomirski , Paolo Bonzini , Andrew Morton , Arjan van de Ven List-Id: xen-devel@lists.xenproject.org VGhpcyBkZW1vdGVzIGFuIE9PUFMgYW5kIGxpa2VseSBwYW5pYyBkdWUgdG8gYSBmYWlsZWQgbm9u LSJzYWZlIiBNU1IKYWNjZXNzIHRvIGEgV0FSTl9PTkNFIGFuZCwgZm9yIFJETVNSLCBhIHJldHVy biB2YWx1ZSBvZiB6ZXJvLiAgSWYKcGFuaWNfb25fb29wcyBpcyBzZXQsIHRoZW4gZmFpbGVkIHVu c2FmZSBNU1IgYWNjZXNzZXMgd2lsbCBzdGlsbApvb3BzIGFuZCBwYW5pYy4KClRvIGJlIGNsZWFy LCB0aGlzIHR5cGUgb2YgZmFpbHVyZSBzaG91bGQgKm5vdCogaGFwcGVuLiAgVGhpcyBwYXRjaApl eGlzdHMgdG8gbWluaW1pemUgdGhlIGNoYW5jZSBvZiBuYXN0eSB1bmRlYnVnZ2FibGUgZmFpbHVy ZXMgZHVlIG9uCnN5c3RlbXMgdGhhdCB1c2VkIHRvIHdvcmsgZHVlIHRvIGEgbm93LWZpeGVkIENP TkZJR19QQVJBVklSVD15IGJ1Zy4KClNpZ25lZC1vZmYtYnk6IEFuZHkgTHV0b21pcnNraSA8bHV0 b0BrZXJuZWwub3JnPgotLS0KIGFyY2gveDg2L2luY2x1ZGUvYXNtL21zci5oIHwgMTAgKysrKysr KystLQogYXJjaC94ODYvbW0vZXh0YWJsZS5jICAgICAgfCAzMyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tc3IuaCBiL2FyY2gv eDg2L2luY2x1ZGUvYXNtL21zci5oCmluZGV4IDkzZmI3YzFjZmZkYS4uMTQ4NzA1NGExYTcwIDEw MDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tc3IuaAorKysgYi9hcmNoL3g4Ni9pbmNs dWRlL2FzbS9tc3IuaApAQCAtOTIsNyArOTIsMTAgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBs b25nIGxvbmcgbmF0aXZlX3JlYWRfbXNyKHVuc2lnbmVkIGludCBtc3IpCiB7CiAJREVDTEFSRV9B UkdTKHZhbCwgbG93LCBoaWdoKTsKIAotCWFzbSB2b2xhdGlsZSgicmRtc3IiIDogRUFYX0VEWF9S RVQodmFsLCBsb3csIGhpZ2gpIDogImMiIChtc3IpKTsKKwlhc20gdm9sYXRpbGUoIjE6IHJkbXNy XG4iCisJCSAgICAgIjI6XG4iCisJCSAgICAgX0FTTV9FWFRBQkxFX0hBTkRMRSgxYiwgMmIsIGV4 X2hhbmRsZXJfcmRtc3JfdW5zYWZlKQorCQkgICAgIDogRUFYX0VEWF9SRVQodmFsLCBsb3csIGhp Z2gpIDogImMiIChtc3IpKTsKIAlpZiAobXNyX3RyYWNlcG9pbnRfYWN0aXZlKF9fdHJhY2Vwb2lu dF9yZWFkX21zcikpCiAJCWRvX3RyYWNlX3JlYWRfbXNyKG1zciwgRUFYX0VEWF9WQUwodmFsLCBs b3csIGhpZ2gpLCAwKTsKIAlyZXR1cm4gRUFYX0VEWF9WQUwodmFsLCBsb3csIGhpZ2gpOwpAQCAt MTE5LDcgKzEyMiwxMCBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbG9uZyBuYXRpdmVf cmVhZF9tc3Jfc2FmZSh1bnNpZ25lZCBpbnQgbXNyLAogc3RhdGljIGlubGluZSB2b2lkIG5hdGl2 ZV93cml0ZV9tc3IodW5zaWduZWQgaW50IG1zciwKIAkJCQkgICAgdW5zaWduZWQgbG93LCB1bnNp Z25lZCBoaWdoKQogewotCWFzbSB2b2xhdGlsZSgid3Jtc3IiIDogOiAiYyIgKG1zciksICJhIihs b3cpLCAiZCIgKGhpZ2gpIDogIm1lbW9yeSIpOworCWFzbSB2b2xhdGlsZSgiMTogd3Jtc3JcbiIK KwkJICAgICAiMjpcbiIKKwkJICAgICBfQVNNX0VYVEFCTEVfSEFORExFKDFiLCAyYiwgZXhfaGFu ZGxlcl93cm1zcl91bnNhZmUpCisJCSAgICAgOiA6ICJjIiAobXNyKSwgImEiKGxvdyksICJkIiAo aGlnaCkgOiAibWVtb3J5Iik7CiAJaWYgKG1zcl90cmFjZXBvaW50X2FjdGl2ZShfX3RyYWNlcG9p bnRfcmVhZF9tc3IpKQogCQlkb190cmFjZV93cml0ZV9tc3IobXNyLCAoKHU2NCloaWdoIDw8IDMy IHwgbG93KSwgMCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9leHRhYmxlLmMgYi9hcmNo L3g4Ni9tbS9leHRhYmxlLmMKaW5kZXggOWRkN2U0YjdmY2RlLi45ZTY3NDliMzQ1MjQgMTAwNjQ0 Ci0tLSBhL2FyY2gveDg2L21tL2V4dGFibGUuYworKysgYi9hcmNoL3g4Ni9tbS9leHRhYmxlLmMK QEAgLTQ5LDYgKzQ5LDM5IEBAIGJvb2wgZXhfaGFuZGxlcl9leHQoY29uc3Qgc3RydWN0IGV4Y2Vw dGlvbl90YWJsZV9lbnRyeSAqZml4dXAsCiB9CiBFWFBPUlRfU1lNQk9MKGV4X2hhbmRsZXJfZXh0 KTsKIAorYm9vbCBleF9oYW5kbGVyX3JkbXNyX3Vuc2FmZShjb25zdCBzdHJ1Y3QgZXhjZXB0aW9u X3RhYmxlX2VudHJ5ICpmaXh1cCwKKwkJCSAgICAgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCB0 cmFwbnIpCit7CisJV0FSTl9PTkNFKDEsICJ1bmNoZWNrZWQgTVNSIGFjY2VzcyBlcnJvcjogUkRN U1IgZnJvbSAweCV4IiwKKwkJICAodW5zaWduZWQgaW50KXJlZ3MtPmN4KTsKKworCS8qIElmIHBh bmljX29uX29vcHMgaXMgc2V0LCBkb24ndCB0cnkgdG8gcmVjb3Zlci4gKi8KKwlpZiAocGFuaWNf b25fb29wcykKKwkJcmV0dXJuIGZhbHNlOworCisJcmVncy0+aXAgPSBleF9maXh1cF9hZGRyKGZp eHVwKTsKKwlyZWdzLT5heCA9IDA7CisJcmVncy0+ZHggPSAwOworCXJldHVybiB0cnVlOworfQor RVhQT1JUX1NZTUJPTChleF9oYW5kbGVyX3JkbXNyX3Vuc2FmZSk7CisKK2Jvb2wgZXhfaGFuZGxl cl93cm1zcl91bnNhZmUoY29uc3Qgc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSAqZml4dXAs CisJCQkgICAgIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgdHJhcG5yKQoreworCVdBUk5fT05D RSgxLCAidW5jaGVja2VkIE1TUiBhY2Nlc3MgZXJyb3I6IFdSTVNSIHRvIDB4JXggKHRyaWVkIHRv IHdyaXRlIDB4JTA4eCUwOHgpXG4iLAorCQkgICh1bnNpZ25lZCBpbnQpcmVncy0+Y3gsCisJCSAg KHVuc2lnbmVkIGludClyZWdzLT5keCwgKHVuc2lnbmVkIGludClyZWdzLT5heCk7CisKKwkvKiBJ ZiBwYW5pY19vbl9vb3BzIGlzIHNldCwgZG9uJ3QgdHJ5IHRvIHJlY292ZXIuICovCisJaWYgKHBh bmljX29uX29vcHMpCisJCXJldHVybiBmYWxzZTsKKworCXJlZ3MtPmlwID0gZXhfZml4dXBfYWRk cihmaXh1cCk7CisJcmV0dXJuIHRydWU7Cit9CitFWFBPUlRfU1lNQk9MKGV4X2hhbmRsZXJfd3Jt c3JfdW5zYWZlKTsKKwogYm9vbCBleF9oYXNfZmF1bHRfaGFuZGxlcih1bnNpZ25lZCBsb25nIGlw KQogewogCWNvbnN0IHN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgKmU7Ci0tIAoyLjUuMAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==