From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v2 2/2] x86/mm: fix a potential race condition in modify_xen_mappings(). Date: Fri, 10 Nov 2017 15:18:06 +0800 Message-ID: <1510298286-30952-2-git-send-email-yu.c.zhang@linux.intel.com> References: <1510298286-30952-1-git-send-email-yu.c.zhang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1510298286-30952-1-git-send-email-yu.c.zhang@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Andrew Cooper , min.he@intel.com, Jan Beulich , yi.z.zhang@intel.com List-Id: xen-devel@lists.xenproject.org SW4gbW9kaWZ5X3hlbl9tYXBwaW5ncygpLCBhIEwxL0wyIHBhZ2UgdGFibGUgbWF5IGJlIGZyZWVk LAppZiBhbGwgZW50cmllcyBvZiB0aGlzIHBhZ2UgdGFibGUgYXJlIGVtcHR5LiBDb3JyZXNwb25k aW5nCkwyL0wzIFBURSB3aWxsIG5lZWQgYmUgY2xlYXJlZCBpbiBzdWNoIHNjZW5hcmlvLgoKSG93 ZXZlciwgbG9naWMgdG8gZW51bWVyYXRlIHRoZSBMMS9MMiBwYWdlIHRhYmxlIGFuZCB0byByZXNl dAp0aGUgY29ycmVzcG9uZGluZyBMMi9MMyBQVEUgbmVlZCB0byBiZSBwcm90ZWN0ZWQgd2l0aCBz cGlubG9jay4KT3RoZXJ3aXNlLCB0aGUgcGFnaW5nIHN0cnVjdHVyZSBtYXkgYmUgZnJlZWQgbW9y ZSB0aGFuIG9uY2UsIGlmCnRoZSBzYW1lIHJvdXRpbmUgaXMgaW52b2tlZCBzaW11bHRhbmVvdXNs eSBvbiBkaWZmZXJlbnQgQ1BVcy4KClNpZ25lZC1vZmYtYnk6IFl1IFpoYW5nIDx5dS5jLnpoYW5n QGxpbnV4LmludGVsLmNvbT4KLS0tCkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhlbi9h cmNoL3g4Ni9tbS5jIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxl IGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0u YyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDQ3ODU1ZmIuLmMwN2M1MjggMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCkBAIC01MDk3LDYgKzUw OTcsMTcgQEAgaW50IG1vZGlmeV94ZW5fbWFwcGluZ3ModW5zaWduZWQgbG9uZyBzLCB1bnNpZ25l ZCBsb25nIGUsIHVuc2lnbmVkIGludCBuZikKICAgICAgICAgICAgICAqLwogICAgICAgICAgICAg aWYgKCAobmYgJiBfUEFHRV9QUkVTRU5UKSB8fCAoKHYgIT0gZSkgJiYgKGwxX3RhYmxlX29mZnNl dCh2KSAhPSAwKSkgKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgaWYg KCBsb2NraW5nICkKKyAgICAgICAgICAgICAgICBzcGluX2xvY2soJm1hcF9wZ2Rpcl9sb2NrKTsK KworICAgICAgICAgICAgLyogTDJFIG1heSBiZSBjbGVhcmVkIG9uIGFub3RoZXIgQ1BVLiAqLwor ICAgICAgICAgICAgaWYgKCAhKGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFJFU0VOVCkg KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICggbG9ja2luZyApCisgICAgICAg ICAgICAgICAgICAgIHNwaW5fdW5sb2NrKCZtYXBfcGdkaXJfbG9jayk7CisgICAgICAgICAgICAg ICAgZ290byBjaGVja19sMzsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgcGwxZSA9IGwy ZV90b19sMWUoKnBsMmUpOwogICAgICAgICAgICAgZm9yICggaSA9IDA7IGkgPCBMMV9QQUdFVEFC TEVfRU5UUklFUzsgaSsrICkKICAgICAgICAgICAgICAgICBpZiAoIGwxZV9nZXRfaW50cHRlKHBs MWVbaV0pICE9IDAgKQpAQCAtNTEwNSwxMSArNTExNiwxNiBAQCBpbnQgbW9kaWZ5X3hlbl9tYXBw aW5ncyh1bnNpZ25lZCBsb25nIHMsIHVuc2lnbmVkIGxvbmcgZSwgdW5zaWduZWQgaW50IG5mKQog ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIC8qIEVtcHR5OiB6YXAgdGhlIEwyRSBhbmQg ZnJlZSB0aGUgTDEgcGFnZS4gKi8KICAgICAgICAgICAgICAgICBsMmVfd3JpdGVfYXRvbWljKHBs MmUsIGwyZV9lbXB0eSgpKTsKKyAgICAgICAgICAgICAgICBpZiAoIGxvY2tpbmcgKQorICAgICAg ICAgICAgICAgICAgICBzcGluX3VubG9jaygmbWFwX3BnZGlyX2xvY2spOwogICAgICAgICAgICAg ICAgIGZsdXNoX2FyZWEoTlVMTCwgRkxVU0hfVExCX0dMT0JBTCk7IC8qIGZsdXNoIGJlZm9yZSBm cmVlICovCiAgICAgICAgICAgICAgICAgZnJlZV94ZW5fcGFnZXRhYmxlKHBsMWUpOwogICAgICAg ICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAoIGxvY2tpbmcgKQorICAgICAgICAgICAgICAg IHNwaW5fdW5sb2NrKCZtYXBfcGdkaXJfbG9jayk7CiAgICAgICAgIH0KIAorY2hlY2tfbDM6CiAg ICAgICAgIC8qCiAgICAgICAgICAqIElmIHdlIGFyZSBub3QgZGVzdHJveWluZyBtYXBwaW5ncywg b3Igbm90IGRvbmUgd2l0aCB0aGUgTDNFLAogICAgICAgICAgKiBza2lwIHRoZSBlbXB0eSZmcmVl IGNoZWNrLgpAQCAtNTExNyw2ICs1MTMzLDE3IEBAIGludCBtb2RpZnlfeGVuX21hcHBpbmdzKHVu c2lnbmVkIGxvbmcgcywgdW5zaWduZWQgbG9uZyBlLCB1bnNpZ25lZCBpbnQgbmYpCiAgICAgICAg IGlmICggKG5mICYgX1BBR0VfUFJFU0VOVCkgfHwKICAgICAgICAgICAgICAoKHYgIT0gZSkgJiYg KGwyX3RhYmxlX29mZnNldCh2KSArIGwxX3RhYmxlX29mZnNldCh2KSAhPSAwKSkgKQogICAgICAg ICAgICAgY29udGludWU7CisgICAgICAgIGlmICggbG9ja2luZyApCisgICAgICAgICAgICBzcGlu X2xvY2soJm1hcF9wZ2Rpcl9sb2NrKTsKKworICAgICAgICAvKiBMM0UgbWF5IGJlIGNsZWFyZWQg b24gYW5vdGhlciBDUFUuICovCisgICAgICAgIGlmICggIShsM2VfZ2V0X2ZsYWdzKCpwbDNlKSAm IF9QQUdFX1BSRVNFTlQpICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCBsb2NraW5nICkK KyAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmbWFwX3BnZGlyX2xvY2spOworICAgICAgICAg ICAgY29udGludWU7CisgICAgICAgIH0KKwogICAgICAgICBwbDJlID0gbDNlX3RvX2wyZSgqcGwz ZSk7CiAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgTDJfUEFHRVRBQkxFX0VOVFJJRVM7IGkrKyAp CiAgICAgICAgICAgICBpZiAoIGwyZV9nZXRfaW50cHRlKHBsMmVbaV0pICE9IDAgKQpAQCAtNTEy NSw5ICs1MTUyLDEzIEBAIGludCBtb2RpZnlfeGVuX21hcHBpbmdzKHVuc2lnbmVkIGxvbmcgcywg dW5zaWduZWQgbG9uZyBlLCB1bnNpZ25lZCBpbnQgbmYpCiAgICAgICAgIHsKICAgICAgICAgICAg IC8qIEVtcHR5OiB6YXAgdGhlIEwzRSBhbmQgZnJlZSB0aGUgTDIgcGFnZS4gKi8KICAgICAgICAg ICAgIGwzZV93cml0ZV9hdG9taWMocGwzZSwgbDNlX2VtcHR5KCkpOworICAgICAgICAgICAgaWYg KCBsb2NraW5nICkKKyAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmbWFwX3BnZGlyX2xvY2sp OwogICAgICAgICAgICAgZmx1c2hfYXJlYShOVUxMLCBGTFVTSF9UTEJfR0xPQkFMKTsgLyogZmx1 c2ggYmVmb3JlIGZyZWUgKi8KICAgICAgICAgICAgIGZyZWVfeGVuX3BhZ2V0YWJsZShwbDJlKTsK ICAgICAgICAgfQorICAgICAgICBlbHNlIGlmICggbG9ja2luZyApCisgICAgICAgICAgICBzcGlu X3VubG9jaygmbWFwX3BnZGlyX2xvY2spOwogICAgIH0KIAogICAgIGZsdXNoX2FyZWEoTlVMTCwg RkxVU0hfVExCX0dMT0JBTCk7Ci0tIAoyLjUuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=