From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH for-4.8] x86/pv: Fix the handling of `int $x` for vectors which alias exceptions Date: Thu, 22 Jun 2017 20:12:47 +0100 Message-ID: <1498158767-4923-1-git-send-email-andrew.cooper3@citrix.com> References: <593AABBC02000078001614E1@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <593AABBC02000078001614E1@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhlIGNsYWltIGF0IHRoZSB0b3Agb2YgYy9zIDJlNDI2ZDZlZWNmICJ4ODYvdHJhcHM6IERyb3Ag dXNlX2Vycm9yX2NvZGUKcGFyYW1ldGVyIGZyb20gZG9feyxndWVzdF99dHJhcCgpIiBpcyBvbmx5 IGFjdHVhbGx5IHRydWUgZm9yIGhhcmR3YXJlCmV4Y2VwdGlvbnMuICBJdCBpcyBub3QgdHJ1ZSBm b3IgYGludCAkeGAgaW5zdHJ1Y3Rpb25zICh3aGljaCBuZXZlciBwdXNoIGVycm9yCmNvZGUpLCBp cnJlc3BlY3RpdmUgb2Ygd2hldGhlciB0aGUgdmVjdG9yIGFsaWFzZXMgYW4gZXhjZXB0aW9uIG9y IG5vdC4KCkZ1cnRoZXJtb3JlLCBjL3MgNjQ4MGNjNjI4MGUgIng4Ni90cmFwczogRml4IGZhaWxl ZCBBU1NFUlQoKSBpbgpkb19ndWVzdF90cmFwKCkiIHJlYWxseSBzaG91bGQgaGF2ZSBoZWxwZWQg aGlnaGxpZ2h0IHRoYXQgYSByZWdyZXNzaW9uIGhhZApiZWVuIGludHJvZHVjZWQuCgpNb2RpZnkg cHZfaW5qZWN0X2V2ZW50KCkgdG8gdW5kZXJzdGFuZCBldmVudCB0eXBlcyBvdGhlciB0aGFuClg4 Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9OLCBhbmQgaW50cm9kdWNlIHB2X2luamVjdF9zd19pbnRl cnJ1cHQoKSBmb3IgdGhlCmBpbnQgJHhgIGhhbmRsaW5nIGNvZGUuCgpBZGQgZnVydGhlciBhc3Nl cnRpb25zIHRvIHB2X2luamVjdF9ldmVudCgpIGNvbmNlcm5pbmcgdGhlIHR5cGUgb2YgZXZlbnRz CnBhc3NlZCBpbiwgd2hpY2ggaW4gdHVybiByZXF1aXJlcyB0aGF0IGRvX2d1ZXN0X3RyYXAoKSBz ZXQgaXRzIHR5cGUKYXBwcm9wcmlhdGVseSAod2hpY2ggaXMgbm93IHVzZWQgZXhjbHVzaXZlbHkg Zm9yIGhhcmR3YXJlIGV4Y2VwdGlvbnMpLgoKVGhpcyBpcyBsb2dpY2FsbHkgYSBiYWNrcG9ydCBv ZiBjL3MgNWM0ZjU3OWUwZWU0ZjM4Y2FkNTYzNmJiZjhjZTcwMGEzOTQzMzhkMApmcm9tIFhlbiA0 LjksIGJ1dCBkaXNlbnRhbmdsZWQgZnJvbSB0aGUgb3RoZXIgaW5qZWN0aW9uIHdvcmsuCgpTaWdu ZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0K Q0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvdHJh cHMuYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjEg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv dHJhcHMuYyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCmluZGV4IDE5YWM2NTIuLjhjOTkyY2UgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5j CkBAIC02MjUsMTQgKzYyNSwyNCBAQCB2b2lkIGZhdGFsX3RyYXAoY29uc3Qgc3RydWN0IGNwdV91 c2VyX3JlZ3MgKnJlZ3MsIGJvb2xfdCBzaG93X3JlbW90ZSkKICAgICAgICAgICAocmVncy0+ZWZs YWdzICYgWDg2X0VGTEFHU19JRikgPyAiIiA6ICIsIElOIElOVEVSUlVQVCBDT05URVhUIik7CiB9 CiAKLXN0YXRpYyB2b2lkIGRvX2d1ZXN0X3RyYXAodW5zaWduZWQgaW50IHRyYXBuciwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCitz dGF0aWMgdm9pZCBwdl9pbmplY3RfZXZlbnQoCisgICAgdW5zaWduZWQgaW50IHRyYXBuciwgY29u c3Qgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGludCB0eXBlKQogewogICAg IHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKICAgICBzdHJ1Y3QgdHJhcF9ib3VuY2UgKnRiOwog ICAgIGNvbnN0IHN0cnVjdCB0cmFwX2luZm8gKnRpOwotICAgIGNvbnN0IGJvb2wgdXNlX2Vycm9y X2NvZGUgPQotICAgICAgICAoKHRyYXBuciA8IDMyKSAmJiAoVFJBUF9IQVZFX0VDICYgKDF1IDw8 IHRyYXBucikpKTsKKyAgICBib29sIHVzZV9lcnJvcl9jb2RlOworCisgICAgaWYgKCB0eXBlID09 IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9OICkKKyAgICB7CisgICAgICAgIEFTU0VSVCh0cmFw bnIgPCAzMik7CisgICAgICAgIHVzZV9lcnJvcl9jb2RlID0gVFJBUF9IQVZFX0VDICYgKDF1IDw8 IHRyYXBucik7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIEFTU0VSVCh0eXBlID09 IFg4Nl9FVkVOVFRZUEVfU1dfSU5URVJSVVBUKTsKKyAgICAgICAgdXNlX2Vycm9yX2NvZGUgPSBm YWxzZTsKKyAgICB9CiAKICAgICB0cmFjZV9wdl90cmFwKHRyYXBuciwgcmVncy0+ZWlwLCB1c2Vf ZXJyb3JfY29kZSwgcmVncy0+ZXJyb3JfY29kZSk7CiAKQEAgLTY1OCw2ICs2NjgsMTIgQEAgc3Rh dGljIHZvaWQgZG9fZ3Vlc3RfdHJhcCh1bnNpZ25lZCBpbnQgdHJhcG5yLAogICAgICAgICAgICAg ICAgIHRyYXBzdHIodHJhcG5yKSwgdHJhcG5yLCByZWdzLT5lcnJvcl9jb2RlKTsKIH0KIAorc3Rh dGljIHZvaWQgZG9fZ3Vlc3RfdHJhcCgKKyAgICB1bnNpZ25lZCBpbnQgdHJhcG5yLCBjb25zdCBz dHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKK3sKKyAgICBwdl9pbmplY3RfZXZlbnQodHJhcG5y LCByZWdzLCBYODZfRVZFTlRUWVBFX0hXX0VYQ0VQVElPTik7Cit9CisKIHN0YXRpYyB2b2lkIGlu c3RydWN0aW9uX2RvbmUoCiAgICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuc2lnbmVk IGxvbmcgZWlwLCB1bnNpZ25lZCBpbnQgYnBtYXRjaCkKIHsKQEAgLTM2ODUsNyArMzcwMSw3IEBA IHZvaWQgZG9fZ2VuZXJhbF9wcm90ZWN0aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQog ICAgICAgICBpZiAoIHBlcm1pdF9zb2Z0aW50KFRJX0dFVF9EUEwodGkpLCB2LCByZWdzKSApCiAg ICAgICAgIHsKICAgICAgICAgICAgIHJlZ3MtPmVpcCArPSAyOwotICAgICAgICAgICAgZG9fZ3Vl c3RfdHJhcCh2ZWN0b3IsIHJlZ3MpOworICAgICAgICAgICAgcHZfaW5qZWN0X2V2ZW50KHZlY3Rv ciwgcmVncywgWDg2X0VWRU5UVFlQRV9TV19JTlRFUlJVUFQpOwogICAgICAgICAgICAgcmV0dXJu OwogICAgICAgICB9CiAgICAgfQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK