From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 2/2] x86/pagewalk: Fix pagewalk's handling of instruction fetches Date: Fri, 26 May 2017 18:03:33 +0100 Message-ID: <1495818213-345-3-git-send-email-andrew.cooper3@citrix.com> References: <1495818213-345-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: <1495818213-345-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: George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org RGVzcGl0ZSB0aGUgY2xhaW0gaW4gdGhlIGNvbW1lbnQgKHdoaWNoIHdhcyBiYXNlZCBwYXJ0bHkg b24gdGhlIGNvZGUgYWxyZWFkeQpiZWluZyBsaWtlIHRoYXQsIGFuZCBtaXN0YWtlbiByZWFzb25p bmcgYmVjYXVzZSBvZiBYZW4gbGVha2luZyBOWCBpbnRvIGd1ZXN0CmNvbnRleHQpLCByZWFsaXR5 IGRpZmZlcnMuCgpVc2Ugb2YgdGhlIFNNQVAgZmVhdHVyZSB3aXRob3V0IE5YLCBvciBpbiBhIDIt bGV2ZWwgZ3Vlc3QsIGRlbW9uc3RyYXRlIGFuCm9ic2VydmFibGUgZGlmZmVyZW5jZSBiZXR3ZWVu IHJlYWRzIGFuZCBpbnN0cnVjdGlvbiBmZXRjaGVzLCBkZXNwaXRlClBGRUNfaW5zbl9mZXRjaCBu b3QgYmVpbmcgcmVwb3J0ZWQgaW4gdGhlICNQRiBlcnJvciBjb2RlLiAgVGhpcyBkZW1vbnN0cmF0 ZXMKdGhhdCBpbnN0cnVjdGlvbiBmZXRjaGVzIGFyZSBkaXN0aW5ndWlzaGVkIGZyb20gZGF0YSBy ZWFkcyBldmVuIHdpdGhvdXQKUEZFQ19pbnNuX2ZldGNoIGJlaW5nIHJlcG9ydGVkLgoKQWx0ZXIg dGhlIHBhZ2V3YWxrIGxvZ2ljIHRvIGtlZXAgdGhlIHBhZ2V3YWxrIGluc25fZmV0Y2ggaW5wdXQg aW50YWN0LCBidXQKb25seSBjb25kaXRpb25hbGx5IHJlcG9ydCBpbnNuX2ZldGNoIGluIHRoZSBl cnJvciBjb2RlLiAgVGhpcyBsb2dpYyBpcyBtb3JlCmluIGxpbmUgd2l0aCB0aGUgSW50ZWwgU0RN IHRleHQ6CgogKiBJL0QgZmxhZyAoYml0IDQpLgogICBUaGlzIGZsYWcgaXMgMSBpZiAoMSkgdGhl IGFjY2VzcyBjYXVzaW5nIHRoZSBwYWdlLWZhdWx0IGV4Y2VwdGlvbiB3YXMgYW4KICAgaW5zdHJ1 Y3Rpb24gZmV0Y2g7IGFuZCAoMikgZWl0aGVyIChhKSBDUjQuU01FUCA9IDE7IG9yIChiKSBib3Ro IChpKSBDUjQuUEFFCiAgID0gMSAoZWl0aGVyIFBBRSBwYWdpbmcgb3IgNC1sZXZlbCBwYWdpbmcg aXMgaW4gdXNlKTsgYW5kIChpaSkgSUEzMl9FRkVSLk5YRQogICA9IDEuIE90aGVyd2lzZSwgdGhl IGZsYWcgaXMgMC4gVGhpcyBmbGFnIGRlc2NyaWJlcyB0aGUgYWNjZXNzIGNhdXNpbmcgdGhlCiAg IHBhZ2UtZmF1bHQgZXhjZXB0aW9uLCBub3QgdGhlIGFjY2VzcyByaWdodHMgc3BlY2lmaWVkIGJ5 IHBhZ2luZy4KCmFuZCB0aGUgQU1EIFNETSB0ZXh0OgoKICogSS9EIC0gQml0IDQuIElmIHRoaXMg Yml0IGlzIHNldCB0byAxLCBpdCBpbmRpY2F0ZXMgdGhhdCB0aGUgYWNjZXNzIHRoYXQKICAgY2F1 c2VkIHRoZSBwYWdlIGZhdWx0IHdhcyBhbiBpbnN0cnVjdGlvbiBmZXRjaC4gT3RoZXJ3aXNlLCB0 aGlzIGJpdCBpcwogICBjbGVhcmVkIHRvIDAuIFRoaXMgYml0IGlzIG9ubHkgZGVmaW5lZCBpZiBu by1leGVjdXRlIGZlYXR1cmUgaXMgZW5hYmxlZAogICAoRUZFUi5OWEU9MSAmJiBDUjQuUEFFPTEp LgoKQ3VyaW91c2x5LCB0aGUgQU1EIG1hbnVhbCBkb2Vzbid0IG1lbnRpb24gU01FUCBkZXNwaXRl IHNvbWUgRmFtMTZoIHByb2Nlc3NvcnMKYW5kIGFsbCBGYW0xN2ggcHJvY2Vzc29ycyBzdXBwb3J0 aW5nIGl0LiAgRXhwZXJpbWVudGFsbHksIGl0IGJlaGF2ZXMgYXMKZGVzY3JpYmVkIGJ5IEludGVs LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv bT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBUaW0gRGVlZ2Fu IDx0aW1AeGVuLm9yZz4KQ0M6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4 LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jIHwgMjIgKysrKysrKysrLS0t LS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL2d1ZXN0X3dhbGsuYyBiL3hlbi9hcmNo L3g4Ni9tbS9ndWVzdF93YWxrLmMKaW5kZXggNWM2YTg1Yi4uOTcyMzY0ZiAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L21tL2d1ZXN0X3dhbGsuYworKysgYi94ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rf d2Fsay5jCkBAIC0xMTQsMjIgKzExNCwxOCBAQCBndWVzdF93YWxrX3RhYmxlcyhzdHJ1Y3QgdmNw dSAqdiwgc3RydWN0IHAybV9kb21haW4gKnAybSwKICAgICBBU1NFUlQoISh3YWxrICYgUEZFQ19p bXBsaWNpdCkgfHwKICAgICAgICAgICAgISh3YWxrICYgKFBGRUNfaW5zbl9mZXRjaCB8IFBGRUNf dXNlcl9tb2RlKSkpOwogCi0gICAgLyoKLSAgICAgKiBQRkVDX2luc25fZmV0Y2ggaXMgb25seSB1 c2VkIGFzIGFuIGlucHV0IHRvIHBhZ2V0YWJsZSB3YWxraW5nIGlmIE5YIG9yCi0gICAgICogU01F UCBhcmUgZW5hYmxlZC4gIE90aGVyd2lzZSwgaW5zdHJ1Y3Rpb24gZmV0Y2hlcyBhcmUgaW5kaXN0 aW5ndWlzaGFibGUKLSAgICAgKiBmcm9tIGRhdGEgcmVhZHMuCi0gICAgICoKLSAgICAgKiBUaGlz IHByb3BlcnR5IGNhbiBiZSBkZW1vbnN0cmF0ZWQgb24gcmVhbCBoYXJkd2FyZSBieSBoYXZpbmcg TlggYW5kCi0gICAgICogU01FUCBpbmFjdGl2ZSwgYnV0IFNNQVAgYWN0aXZlLCBhbmQgb2JzZXJ2 aW5nIHRoYXQgRUZMQUdTLkFDIGRldGVybWluZXMKLSAgICAgKiB3aGV0aGVyIGEgcGFnZWZhdWx0 IG9jY3VyZXMgZm9yIHN1cGVydmlzb3IgZXhlY3V0aW9uIG9uIHVzZXIgbWFwcGluZ3MuCi0gICAg ICovCi0gICAgaWYgKCAhKGd1ZXN0X254X2VuYWJsZWQodikgfHwgZ3Vlc3Rfc21lcF9lbmFibGVk KHYpKSApCi0gICAgICAgIHdhbGsgJj0gflBGRUNfaW5zbl9mZXRjaDsKLQogICAgIHBlcmZjX2lu Y3IoZ3Vlc3Rfd2Fsayk7CiAgICAgbWVtc2V0KGd3LCAwLCBzaXplb2YoKmd3KSk7CiAgICAgZ3ct PnZhID0gdmE7Ci0gICAgZ3ctPnBmZWMgPSB3YWxrICYgKFBGRUNfaW5zbl9mZXRjaCB8IFBGRUNf dXNlcl9tb2RlIHwgUEZFQ193cml0ZV9hY2Nlc3MpOworICAgIGd3LT5wZmVjID0gd2FsayAmIChQ RkVDX3VzZXJfbW9kZSB8IFBGRUNfd3JpdGVfYWNjZXNzKTsKKworICAgIC8qCisgICAgICogUEZF Q19pbnNuX2ZldGNoIGlzIG9ubHkgcmVwb3J0ZWQgaWYgTlggb3IgU01FUCBhcmUgZW5hYmxlZC4g IEhhcmR3YXJlCisgICAgICogc3RpbGwgZGlzdGluZ3Vlc2VzIGluc3RydWN0aW9uIGZldGNoZXMg ZHVyaW5nIGRldGVybWluYXRpb24gb2YgYWNjZXNzCisgICAgICogcmlnaHRzLgorICAgICAqLwor ICAgIGlmICggZ3Vlc3RfbnhfZW5hYmxlZCh2KSB8fCBndWVzdF9zbWVwX2VuYWJsZWQodikgKQor ICAgICAgICBndy0+cGZlYyB8PSAod2FsayAmIFBGRUNfaW5zbl9mZXRjaCk7CiAKICNpZiBHVUVT VF9QQUdJTkdfTEVWRUxTID49IDMgLyogUEFFIG9yIDY0Li4uICovCiAjaWYgR1VFU1RfUEFHSU5H X0xFVkVMUyA+PSA0IC8qIDY0LWJpdCBvbmx5Li4uICovCi0tIAoyLjEuNAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=