From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v2 1/2] x86/mm: fix a potential race condition in map_pages_to_xen(). Date: Fri, 10 Nov 2017 15:18:05 +0800 Message-ID: <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: 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 RnJvbTogTWluIEhlIDxtaW4uaGVAaW50ZWwuY29tPgoKSW4gbWFwX3BhZ2VzX3RvX3hlbigpLCBh IEwyIHBhZ2UgdGFibGUgZW50cnkgbWF5IGJlIHJlc2V0IHRvIHBvaW50IHRvCmEgc3VwZXJwYWdl LCBhbmQgaXRzIGNvcnJlc3BvbmRpbmcgTDEgcGFnZSB0YWJsZSBuZWVkIGJlIGZyZWVkIGluIHN1 Y2gKc2NlbmFyaW8sIHdoZW4gdGhlc2UgTDEgcGFnZSB0YWJsZSBlbnRyaWVzIGFyZSBtYXBwaW5n IHRvIGNvbnNlY3V0aXZlCnBhZ2UgZnJhbWVzIGFuZCBoYXZpbmcgdGhlIHNhbWUgbWFwcGluZyBm bGFncy4KCkhvd2V2ZXIsIHZhcmlhYmxlIGBwbDFlYCBpcyBub3QgcHJvdGVjdGVkIGJ5IHRoZSBs b2NrIGJlZm9yZSBMMSBwYWdlIHRhYmxlCmlzIGVudW1lcmF0ZWQuIEEgcmFjZSBjb25kaXRpb24g bWF5IGhhcHBlbiBpZiB0aGlzIGNvZGUgcGF0aCBpcyBpbnZva2VkCnNpbXVsdGFuZW91c2x5IG9u IGRpZmZlcmVudCBDUFVzLgoKRm9yIGV4YW1wbGUsIGBwbDFlYCB2YWx1ZSBvbiBDUFUwIG1heSBo b2xkIGFuIG9ic29sZXRlIHZhbHVlLCBwb2ludGluZwp0byBhIHBhZ2Ugd2hpY2ggaGFzIGp1c3Qg YmVlbiBmcmVlZCBvbiBDUFUxLiBCZXNpZGVzLCBiZWZvcmUgdGhpcyBwYWdlCmlzIHJldXNlZCwg aXQgd2lsbCBzdGlsbCBiZSBob2xkaW5nIHRoZSBvbGQgUFRFcywgcmVmZXJlbmNpbmcgY29uc2Vj dXRpdmUKcGFnZSBmcmFtZXMuIENvbnNlcXVlbnRseSB0aGUgYGZyZWVfeGVuX3BhZ2V0YWJsZShs MmVfdG9fbDFlKG9sMmUpKWAgd2lsbApiZSB0cmlnZ2VyZWQgb24gQ1BVMCwgcmVzdWx0aW5nIHRo ZSB1bmV4cGVjdGVkIGZyZWUgb2YgYSBub3JtYWwgcGFnZS4KClRoaXMgcGF0Y2ggZml4ZXMgdGhl IHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbiBieSBwcm90ZWN0aW5nIHRoZSBgcGwxZWAKd2l0aCB0 aGUgbG9jaywgYW5kIGNoZWNraW5nIHRoZSBQU0UgZmxhZyBvZiB0aGUgYHBsMmVgLgoKTm90ZTog UFNFIGZsYWcgb2YgYHBsM2VgIGlzIGFsc28gY2hlY2tlZCBiZWZvcmUgaXRzIHJlLWNvbnNvbGlk YXRpb24sCmZvciB0aGUgc2FtZSByZWFzb24gd2UgZG8gZm9yIGBwbDJlYCAtIHdlIGNhbm5vdCBw cmVzdW1lIHRoZSBjb250ZW50cwpvZiB0aGUgdGFyZ2V0IHN1cGVycGFnZS4KClNpZ25lZC1vZmYt Ynk6IE1pbiBIZSA8bWluLmhlQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogWWkgWmhhbmcgPHlp LnouemhhbmdAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBZdSBaaGFuZyA8eXUuYy56aGFuZ0Bs aW51eC5pbnRlbC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpD YzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KCkNoYW5nZXMgaW4g djI6CkFjY29yZGluZyB0byBjb21tZW50cyBmcm9tIEphbiBCZXVsaWNoLAogIC0gY2hlY2sgUFNF IG9mIHBsMmUgYW5kIHBsM2UsIGFuZCBza2lwIHRoZSByZS1jb25zb2xpZGF0aW9uIGlmIHNldC4K ICAtIGNvbW1pdCBtZXNzYWdlIGNoYW5nZXMsIGUuZy4gYWRkICJGcm9tIDoiIHRhZyBldGMuCiAg LSBjb2RlIHN0eWxlIGNoYW5nZXMuCiAgLSBpbnRyb2R1Y2UgYSBzZXBlcmF0ZSBwYXRjaCB0byBy ZXNvbHZlIHRoZSBzaW1pbGFyIGlzc3VlIGluCiAgICBtb2RpZnlfeGVuX21hcHBpbmdzKCkuCi0t LQogeGVuL2FyY2gveDg2L21tLmMgfCAyMiArKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUg Y2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IGEyMGZkY2EuLjQ3ODU1 ZmIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5j CkBAIC00ODQ0LDkgKzQ4NDQsMTkgQEAgaW50IG1hcF9wYWdlc190b194ZW4oCiAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBiYXNlX21mbjsKIAotICAgICAgICAg ICAgICAgIHBsMWUgPSBsMmVfdG9fbDFlKCpwbDJlKTsKICAgICAgICAgICAgICAgICBpZiAoIGxv Y2tpbmcgKQogICAgICAgICAgICAgICAgICAgICBzcGluX2xvY2soJm1hcF9wZ2Rpcl9sb2NrKTsK KworICAgICAgICAgICAgICAgIC8qIFNraXAgdGhlIHJlLWNvbnNvbGlkYXRpb24gaWYgaXQncyBk b25lIG9uIGFub3RoZXIgQ1BVLiAqLworICAgICAgICAgICAgICAgIGlmICggbDJlX2dldF9mbGFn cygqcGwyZSkgJiBfUEFHRV9QU0UgKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg ICAgICAgaWYgKCBsb2NraW5nICkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNwaW5fdW5sb2Nr KCZtYXBfcGdkaXJfbG9jayk7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gY2hlY2tfbDM7Cisg ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgb2wyZSA9ICpwbDJlOworICAgICAg ICAgICAgICAgIHBsMWUgPSBsMmVfdG9fbDFlKG9sMmUpOwogICAgICAgICAgICAgICAgIGJhc2Vf bWZuID0gbDFlX2dldF9wZm4oKnBsMWUpICYgfihMMV9QQUdFVEFCTEVfRU5UUklFUyAtIDEpOwog ICAgICAgICAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgTDFfUEFHRVRBQkxFX0VOVFJJRVM7IGkr KywgcGwxZSsrICkKICAgICAgICAgICAgICAgICAgICAgaWYgKCAobDFlX2dldF9wZm4oKnBsMWUp ICE9IChiYXNlX21mbiArIGkpKSB8fApAQCAtNDg1NCw3ICs0ODY0LDYgQEAgaW50IG1hcF9wYWdl c190b194ZW4oCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg ICBpZiAoIGkgPT0gTDFfUEFHRVRBQkxFX0VOVFJJRVMgKQogICAgICAgICAgICAgICAgIHsKLSAg ICAgICAgICAgICAgICAgICAgb2wyZSA9ICpwbDJlOwogICAgICAgICAgICAgICAgICAgICBsMmVf d3JpdGVfYXRvbWljKHBsMmUsIGwyZV9mcm9tX3BmbihiYXNlX21mbiwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDFmX3RvX2xOZihmbGFn cykpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKCBsb2NraW5nICkKQEAgLTQ4ODAsNiArNDg4 OSwxNSBAQCBpbnQgbWFwX3BhZ2VzX3RvX3hlbigKIAogICAgICAgICAgICAgaWYgKCBsb2NraW5n ICkKICAgICAgICAgICAgICAgICBzcGluX2xvY2soJm1hcF9wZ2Rpcl9sb2NrKTsKKworICAgICAg ICAgICAgLyogU2tpcCB0aGUgcmUtY29uc29saWRhdGlvbiBpZiBpdCdzIGRvbmUgb24gYW5vdGhl ciBDUFUuICovCisgICAgICAgICAgICBpZiAoIGwzZV9nZXRfZmxhZ3MoKnBsM2UpICYgX1BBR0Vf UFNFICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAoIGxvY2tpbmcgKQorICAg ICAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmbWFwX3BnZGlyX2xvY2spOworICAgICAgICAg ICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBvbDNlID0gKnBs M2U7CiAgICAgICAgICAgICBwbDJlID0gbDNlX3RvX2wyZShvbDNlKTsKICAgICAgICAgICAgIGJh c2VfbWZuID0gbDJlX2dldF9wZm4oKnBsMmUpICYgfihMMl9QQUdFVEFCTEVfRU5UUklFUyAqCi0t IAoyLjUuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=