From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 2/2] x86/emul: Bugfixes to SYSCALL emulation Date: Mon, 19 Dec 2016 16:37:55 +0000 Message-ID: <1482165475-26302-2-git-send-email-andrew.cooper3@citrix.com> References: <1482165475-26302-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: <1482165475-26302-1-git-send-email-andrew.cooper3@citrix.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 SW50cm9kdWNlIHZlbmRvcl9pcygpIHRvIGFsbG93IGVtdWxhdGlvbiB0byBoYXZlIHZlbmRvci1z cGVjaWZpYwpiZWhhdmlvdXIuICBBZGp1c3QgdGhlIFNZU0NBTEwgYmVoYXZpb3VyIG9uIEludGVs IHRvIHJhaXNlICNVRCB3aGVuCmV4ZWN1dGVkIG91dHNpZGUgb2YgNjRiaXQgbW9kZS4KCmluX2xv bmdtb2RlKCkgaGFzIGRpZmZlcmVudCByZXR1cm4gc2VtYW50aWNzIGZyb20gcmMsIHNvIHVzZSBh IHNlcGFyYXRlCmludGVnZXIgZm9yIHRoZSBwdXJwb3NlLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3 IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8 SkJldWxpY2hAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVs YXRlLmMgfCA1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAxIGZpbGUgY2hh bmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11 bGF0ZS94ODZfZW11bGF0ZS5jCmluZGV4IDE2NWVlYmIuLjQxOWMyZGEgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94 ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCkBAIC0xMzI3LDYgKzEzMjcsNDUgQEAgc3RhdGljIGJv b2wgdmNwdV9oYXMoCiAjZGVmaW5lIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGZlYXQpIHZjcHVf bXVzdF9oYXZlKGZlYXQpCiAjZW5kaWYKIAorI2RlZmluZSBYODZfVkVORE9SX0lOVEVMIDAKKyNk ZWZpbmUgWDg2X1ZFTkRPUl9BTUQgICAyCisKK3N0YXRpYyBib29sIHZlbmRvcl9pcygKKyAgICBz dHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCwKKyAgICBjb25zdCBzdHJ1Y3QgeDg2X2VtdWxh dGVfb3BzICpvcHMsCisgICAgaW50IHZlbmRvcikKK3sKKyAgICB1bnNpZ25lZCBpbnQgZWF4ID0g MCwgZWJ4ID0gMCwgZWN4ID0gMCwgZWR4ID0gMDsKKyAgICBpbnQgcmMgPSBYODZFTVVMX09LQVk7 CisKKyAgICBmYWlsX2lmKCFvcHMtPmNwdWlkKTsKKyAgICByYyA9IG9wcy0+Y3B1aWQoJmVheCwg JmVieCwgJmVjeCwgJmVkeCwgY3R4dCk7CisgICAgaWYgKCByYyA9PSBYODZFTVVMX09LQVkgKQor ICAgIHsKKyAgICAgICAgc3dpdGNoICggdmVuZG9yICkKKyAgICAgICAgeworICAgICAgICBjYXNl IFg4Nl9WRU5ET1JfSU5URUw6CisgICAgICAgICAgICByZXR1cm4gKGVieCA9PSAweDc1NmU2NTQ3 dSAmJiAvKiAiR2VudWluZUludGVsIiAqLworICAgICAgICAgICAgICAgICAgICBlY3ggPT0gMHg2 YzY1NzQ2ZXUgJiYKKyAgICAgICAgICAgICAgICAgICAgZWR4ID09IDB4NDk2NTZlNjl1KTsKKwor ICAgICAgICBjYXNlIFg4Nl9WRU5ET1JfQU1EOgorICAgICAgICAgICAgcmV0dXJuIChlYnggPT0g MHg2ODc0NzU0MXUgJiYgLyogIkF1dGhlbnRpY0FNRCIgKi8KKyAgICAgICAgICAgICAgICAgICAg ZWN4ID09IDB4NDQ0ZDQxNjN1ICYmCisgICAgICAgICAgICAgICAgICAgIGVkeCA9PSAweDY5NzQ2 ZTY1dSk7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByYyA9IH5YODZFTVVMX09LQVk7 CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworIGRvbmU6CisgICAgcmV0 dXJuIHJjID09IFg4NkVNVUxfT0tBWTsKK30KKworI2RlZmluZSB2ZW5kb3JfaXNfaW50ZWwoKSB2 ZW5kb3JfaXMoY3R4dCwgb3BzLCBYODZfVkVORE9SX0lOVEVMKQorI2RlZmluZSB2ZW5kb3JfaXNf YW1kKCkgICB2ZW5kb3JfaXMoY3R4dCwgb3BzLCBYODZfVkVORE9SX0FNRCkKKwogc3RhdGljIGlu dAogaW5fbG9uZ21vZGUoCiAgICAgc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQsCkBAIC00 NjIzLDEwICs0NjYyLDE1IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBicmVhazsKICAgICB9CiAK LSAgICBjYXNlIFg4NkVNVUxfT1BDKDB4MGYsIDB4MDUpOiAvKiBzeXNjYWxsICovIHsKKyAgICBj YXNlIFg4NkVNVUxfT1BDKDB4MGYsIDB4MDUpOiAvKiBzeXNjYWxsICovCisgICAgewogICAgICAg ICB1aW50NjRfdCBtc3JfY29udGVudDsKKyNpZmRlZiBfX3g4Nl82NF9fCisgICAgICAgIGludCBs bTsKKyNlbmRpZgogCi0gICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZighaW5fcHJvdG1vZGUo Y3R4dCwgb3BzKSwgRVhDX1VEKTsKKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKCFpbl9w cm90bW9kZShjdHh0LCBvcHMpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmVu ZG9yX2lzX2ludGVsKCkgJiYgIW1vZGVfNjRiaXQoKSksIEVYQ19VRCk7CiAKICAgICAgICAgLyog SW5qZWN0ICNVRCBpZiBzeXNjYWxsL3N5c3JldCBhcmUgZGlzYWJsZWQuICovCiAgICAgICAgIGZh aWxfaWYob3BzLT5yZWFkX21zciA9PSBOVUxMKTsKQEAgLTQ2NDUsMTAgKzQ2ODksMTAgQEAgeDg2 X2VtdWxhdGUoCiAgICAgICAgIHNyZWcuYXR0ci5ieXRlcyA9IDB4YzkzOyAvKiBHK0RCK1ArUytE YXRhICovCiAKICNpZmRlZiBfX3g4Nl82NF9fCi0gICAgICAgIHJjID0gaW5fbG9uZ21vZGUoY3R4 dCwgb3BzKTsKLSAgICAgICAgaWYgKCByYyA8IDAgKQorICAgICAgICBsbSA9IGluX2xvbmdtb2Rl KGN0eHQsIG9wcyk7CisgICAgICAgIGlmICggbG0gPCAwICkKICAgICAgICAgICAgIGdvdG8gY2Fu bm90X2VtdWxhdGU7Ci0gICAgICAgIGlmICggcmMgKQorICAgICAgICBpZiAoIGxtICkKICAgICAg ICAgewogICAgICAgICAgICAgY3MuYXR0ci5ieXRlcyA9IDB4YTliOyAvKiBMK0RCK1ArUytDb2Rl ICovCiAKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==