From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 2/5] x86/hvm: Switch hvm_allow_set_param() to use a whitelist Date: Wed, 5 Sep 2018 19:12:01 +0100 Message-ID: <1536171124-27053-3-git-send-email-andrew.cooper3@citrix.com> References: <1536171124-27053-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1536171124-27053-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Stefano Stabellini , Wei Liu , Andrew Cooper , Julien Grall , Paul Durrant , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhlcmUgYXJlIGhvbGVzIGluIHRoZSBIVk1fUEFSQU0gc3BhY2UsIHNvbWUgb2Ygd2hpY2ggYXJl IGZyb20gZGVwcmVjYXRlZApwYXJhbWV0ZXJzLCBidXQgdG9vbHN0YWNrIGFuZCBkZXZpY2UgbW9k ZWxzIGN1cnJlbnRseSBoYXMgKGFsbW9zdCkgYmxhbmtldAp3cml0ZSBhY2Nlc3MuCgpSZWFycmFu Z2UgaHZtX2FsbG93X2dldF9wYXJhbSgpIHRvIGhhdmUgYSB3aGl0ZWxpc3Qgb2YgdG9vbHN0YWNr LXdyaXRlYWJsZQpwYXJhbWV0ZXJzLCB3aXRoIHRoZSBkZWZhdWx0IGNhc2UgZmFpbGluZyB3aXRo IC1FSU5WQUwuICBUaGlzIHN1YnN1bWVzIHRoZQpIVk1fTlJfUEFSQU1TIGNoZWNrLCBhcyB3ZWxs IGFzIHRoZSBNRU1PUllfRVZFTlRfKiBkZXByZWNhdGVkIGJsb2NrLCBhbmQgdGhlCkJVRklPUkVR X0VWVENITiBYZW4td3JpdGUtb25seSB2YWx1ZS4KCk5vIGV4cGVjdGVkIGNoYW5nZSBmb3IgdGhl IGRlZmluZWQsIGluLXVzZSBwYXJhbXMuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxh bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBz dXNlLmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNDOiBSb2dlciBQYXUg TW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KQ0M6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJy YW50QGNpdHJpeC5jb20+CkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5l bC5vcmc+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgotLS0KIHhlbi9h cmNoL3g4Ni9odm0vaHZtLmMgfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDIyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJj aC94ODYvaHZtL2h2bS5jCmluZGV4IDk2YTYzMjMuLmQxOWFlMzUgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtNDA3Myw3 ICs0MDczLDcgQEAgc3RhdGljIGludCBodm1fYWxsb3dfc2V0X3BhcmFtKHN0cnVjdCBkb21haW4g KmQsCiAKICAgICBzd2l0Y2ggKCBhLT5pbmRleCApCiAgICAgewotICAgIC8qIFRoZSBmb2xsb3dp bmcgcGFyYW1ldGVycyBjYW4gYmUgc2V0IGJ5IHRoZSBndWVzdC4gKi8KKyAgICAgICAgLyogVGhl IGZvbGxvd2luZyBwYXJhbWV0ZXJzIGNhbiBiZSBzZXQgYnkgdGhlIGd1ZXN0IGFuZCB0b29sc3Rh Y2suICovCiAgICAgY2FzZSBIVk1fUEFSQU1fQ0FMTEJBQ0tfSVJROgogICAgIGNhc2UgSFZNX1BB UkFNX1ZNODZfVFNTOgogICAgIGNhc2UgSFZNX1BBUkFNX1ZNODZfVFNTX1NJWkVEOgpAQCAtNDA4 MywxOCArNDA4Myw0MCBAQCBzdGF0aWMgaW50IGh2bV9hbGxvd19zZXRfcGFyYW0oc3RydWN0IGRv bWFpbiAqZCwKICAgICBjYXNlIEhWTV9QQVJBTV9DT05TT0xFX0VWVENITjoKICAgICBjYXNlIEhW TV9QQVJBTV9YODdfRklQX1dJRFRIOgogICAgICAgICBicmVhazsKLSAgICAvKgotICAgICAqIFRo ZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBtdXN0IG5vdCBiZSBzZXQgYnkgdGhlIGd1ZXN0Ci0gICAg ICogc2luY2UgdGhlIGRvbWFpbiBtYXkgbmVlZCB0byBiZSBwYXVzZWQuCi0gICAgICovCisKKyAg ICAgICAgLyoKKyAgICAgICAgICogVGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzIGFyZSBpbnRlbmRl ZCBmb3IgdG9vbHN0YWNrIHVzYWdlIG9ubHkuCisgICAgICAgICAqIFNvbWUgcmVxdWlyZSB0aGUg ZG9tYWluIHRvIGJlIHBhdXNlZCB3aGlsZSBvdGhlcnMgY29udHJvbAorICAgICAgICAgKiBwZXJt aXNzaW9ucyBpbiBYZW4sIGFuZCB0aGVyZWZvcmUgbWF5IG5vdCBzZXQgYnkgdGhlIGRvbWFpbi4K KyAgICAgICAgICovCisgICAgY2FzZSBIVk1fUEFSQU1fU1RPUkVfUEZOOgorICAgIGNhc2UgSFZN X1BBUkFNX1BBRV9FTkFCTEVEOgorICAgIGNhc2UgSFZNX1BBUkFNX0lPUkVRX1BGTjoKKyAgICBj YXNlIEhWTV9QQVJBTV9CVUZJT1JFUV9QRk46CisgICAgY2FzZSBIVk1fUEFSQU1fVklSSURJQU46 CisgICAgY2FzZSBIVk1fUEFSQU1fVElNRVJfTU9ERToKKyAgICBjYXNlIEhWTV9QQVJBTV9IUEVU X0VOQUJMRUQ6CiAgICAgY2FzZSBIVk1fUEFSQU1fSURFTlRfUFQ6CiAgICAgY2FzZSBIVk1fUEFS QU1fRE1fRE9NQUlOOgogICAgIGNhc2UgSFZNX1BBUkFNX0FDUElfU19TVEFURToKLSAgICAvKiBU aGUgcmVtYWluaW5nIHBhcmFtZXRlcnMgc2hvdWxkIG5vdCBiZSBzZXQgYnkgdGhlIGd1ZXN0LiAq LwotICAgIGRlZmF1bHQ6CisgICAgY2FzZSBIVk1fUEFSQU1fVlBUX0FMSUdOOgorICAgIGNhc2Ug SFZNX1BBUkFNX0NPTlNPTEVfUEZOOgorICAgIGNhc2UgSFZNX1BBUkFNX05FU1RFREhWTToKKyAg ICBjYXNlIEhWTV9QQVJBTV9QQUdJTkdfUklOR19QRk46CisgICAgY2FzZSBIVk1fUEFSQU1fTU9O SVRPUl9SSU5HX1BGTjoKKyAgICBjYXNlIEhWTV9QQVJBTV9TSEFSSU5HX1JJTkdfUEZOOgorICAg IGNhc2UgSFZNX1BBUkFNX1RSSVBMRV9GQVVMVF9SRUFTT046CisgICAgY2FzZSBIVk1fUEFSQU1f SU9SRVFfU0VSVkVSX1BGTjoKKyAgICBjYXNlIEhWTV9QQVJBTV9OUl9JT1JFUV9TRVJWRVJfUEFH RVM6CisgICAgY2FzZSBIVk1fUEFSQU1fTUNBX0NBUDoKICAgICAgICAgaWYgKCBkID09IGN1cnJl bnQtPmRvbWFpbiApCiAgICAgICAgICAgICByYyA9IC1FUEVSTTsKICAgICAgICAgYnJlYWs7CisK KyAgICAgICAgLyogV3JpdGVhYmxlIG9ubHkgYnkgWGVuLCBob2xlLCBkZXByZWNhdGVkLCBvciBv dXQtb2YtcmFuZ2UuICovCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmMgPSAtRUlOVkFMOworICAg ICAgICBicmVhazsKICAgICB9CiAKICAgICBpZiAoIHJjICkKQEAgLTQxMzAsOSArNDE1Miw2IEBA IHN0YXRpYyBpbnQgaHZtb3Bfc2V0X3BhcmFtKAogICAgIGlmICggY29weV9mcm9tX2d1ZXN0KCZh LCBhcmcsIDEpICkKICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CiAKLSAgICBpZiAoIGEuaW5kZXgg Pj0gSFZNX05SX1BBUkFNUyApCi0gICAgICAgIHJldHVybiAtRUlOVkFMOwotCiAgICAgZCA9IHJj dV9sb2NrX2RvbWFpbl9ieV9hbnlfaWQoYS5kb21pZCk7CiAgICAgaWYgKCBkID09IE5VTEwgKQog ICAgICAgICByZXR1cm4gLUVTUkNIOwpAQCAtNDIwOSwxNSArNDIyOCw3IEBAIHN0YXRpYyBpbnQg aHZtb3Bfc2V0X3BhcmFtKAogICAgIGNhc2UgSFZNX1BBUkFNX0FDUElfSU9QT1JUU19MT0NBVElP TjoKICAgICAgICAgcmMgPSBwbXRpbWVyX2NoYW5nZV9pb3BvcnQoZCwgYS52YWx1ZSk7CiAgICAg ICAgIGJyZWFrOwotICAgIGNhc2UgSFZNX1BBUkFNX01FTU9SWV9FVkVOVF9DUjA6Ci0gICAgY2Fz ZSBIVk1fUEFSQU1fTUVNT1JZX0VWRU5UX0NSMzoKLSAgICBjYXNlIEhWTV9QQVJBTV9NRU1PUllf RVZFTlRfQ1I0OgotICAgIGNhc2UgSFZNX1BBUkFNX01FTU9SWV9FVkVOVF9JTlQzOgotICAgIGNh c2UgSFZNX1BBUkFNX01FTU9SWV9FVkVOVF9TSU5HTEVfU1RFUDoKLSAgICBjYXNlIEhWTV9QQVJB TV9NRU1PUllfRVZFTlRfTVNSOgotICAgICAgICAvKiBEZXByZWNhdGVkICovCi0gICAgICAgIHJj ID0gLUVPUE5PVFNVUFA7Ci0gICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBIVk1fUEFSQU1fTkVT VEVESFZNOgogICAgICAgICByYyA9IHhzbV9odm1fcGFyYW1fbmVzdGVkKFhTTV9QUklWLCBkKTsK ICAgICAgICAgaWYgKCByYyApCkBAIC00MjUzLDkgKzQyNjQsNyBAQCBzdGF0aWMgaW50IGh2bW9w X3NldF9wYXJhbSgKICAgICAgICAgICAgICBkLT5hcmNoLmh2bS5wYXJhbXNbSFZNX1BBUkFNX05F U1RFREhWTV0gKQogICAgICAgICAgICAgcmMgPSAtRUlOVkFMOwogICAgICAgICBicmVhazsKLSAg ICBjYXNlIEhWTV9QQVJBTV9CVUZJT1JFUV9FVlRDSE46Ci0gICAgICAgIHJjID0gLUVJTlZBTDsK LSAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIEhWTV9QQVJBTV9UUklQTEVfRkFVTFRfUkVBU09O OgogICAgICAgICBpZiAoIGEudmFsdWUgPiBTSFVURE9XTl9NQVggKQogICAgICAgICAgICAgcmMg PSAtRUlOVkFMOwotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5w cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v eGVuLWRldmVs