From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v5 3/8] mm: Scrub pages in alloc_heap_pages() if needed Date: Thu, 22 Jun 2017 14:57:05 -0400 Message-ID: <1498157830-21845-4-git-send-email-boris.ostrovsky@oracle.com> References: <1498157830-21845-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1498157830-21845-1-git-send-email-boris.ostrovsky@oracle.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: sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com, Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org V2hlbiBhbGxvY2F0aW5nIHBhZ2VzIGluIGFsbG9jX2hlYXBfcGFnZXMoKSBmaXJzdCBsb29rIGZv ciBjbGVhbiBwYWdlcy4gSWYgbm9uZQppcyBmb3VuZCB0aGVuIHJldHJ5LCB0YWtlIHBhZ2VzIG1h cmtlZCBhcyB1bnNjcnViYmVkIGFuZCBzY3J1YiB0aGVtLgoKTm90ZSB0aGF0IHdlIHNob3VsZG4n dCBmaW5kIHVuc2NydWJiZWQgcGFnZXMgaW4gYWxsb2NfaGVhcF9wYWdlcygpIHlldC4gSG93ZXZl ciwKdGhpcyB3aWxsIGJlY29tZSBwb3NzaWJsZSB3aGVuIHdlIHN0b3Agc2NydWJiaW5nIGZyb20g ZnJlZV9oZWFwX3BhZ2VzKCkgYW5kCmluc3RlYWQgZG8gaXQgZnJvbSBpZGxlIGxvb3AuCgpTaW5j ZSBub3QgYWxsIGFsbG9jYXRpb25zIHJlcXVpcmUgY2xlYW4gcGFnZXMgKHN1Y2ggYXMgeGVuaGVh cCBhbGxvY2F0aW9ucykKaW50cm9kdWNlIE1FTUZfbm9fc2NydWIgZmxhZyB0aGF0IGNhbGxlcnMg Y2FuIHNldCBpZiB0aGV5IGFyZSB3aWxsaW5nIHRvCmNvbnN1bWUgdW5zY3J1YmJlZCBwYWdlcy4K ClNpZ25lZC1vZmYtYnk6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5j b20+Ci0tLQpDaGFuZ2VzIGluIHY1OgoqIEFkZGVkIGNvbW1lbnQgZXhwbGFpbmluZyB3aHkgd2Ug YWx3YXlzIGdyYWIgb3JkZXIgMCBwYWdlcyBpbiBhbGxvY19oZWFwX3BhZ2VzKQoqIERyb3BwZWQg dGhlIHNvbWV3aGF0IGNvbmZ1c2luZyBjb21tZW50IGFib3V0IG5vdCBuZWVkaW5nIHRvIHNldCBm aXJzdF9kaXJ0eQogIGluIGFsbG9jX2hlYXBfcGFnZXMoKS4KKiBNb3ZlZCBmaXJzdCBiaXQgb2Yg X01FTUZfbm9kZSBieSA4IHRvIGFjY29tbW9kYXRlIE1FTUZfbm9fc2NydWIgKGJpdCA3IGlzCiAg bm8gbG9uZ2VyIGF2YWlsYWJsZSkKCgogeGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMgfCAzNiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIHhlbi9pbmNsdWRlL3hlbi9tbS5oICAg IHwgIDQgKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jIGIveGVuL2NvbW1vbi9w YWdlX2FsbG9jLmMKaW5kZXggODlmZTNjZS4uOWFhYzE5NiAxMDA2NDQKLS0tIGEveGVuL2NvbW1v bi9wYWdlX2FsbG9jLmMKKysrIGIveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMKQEAgLTcwMyw2ICs3 MDMsNyBAQCBzdGF0aWMgc3RydWN0IHBhZ2VfaW5mbyAqZ2V0X2ZyZWVfYnVkZHkodW5zaWduZWQg aW50IHpvbmVfbG8sCiAgICAgbm9kZW1hc2tfdCBub2RlbWFzayA9IGQgPyBkLT5ub2RlX2FmZmlu aXR5IDogbm9kZV9vbmxpbmVfbWFwOwogICAgIHVuc2lnbmVkIGludCBqLCB6b25lLCBub2RlbWFz a19yZXRyeSA9IDA7CiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7CisgICAgYm9vbCB1c2VfdW5z Y3J1YmJlZCA9IChtZW1mbGFncyAmIE1FTUZfbm9fc2NydWIpOwogCiAgICAgaWYgKCBub2RlID09 IE5VTUFfTk9fTk9ERSApCiAgICAgewpAQCAtNzM0LDggKzczNSwyMCBAQCBzdGF0aWMgc3RydWN0 IHBhZ2VfaW5mbyAqZ2V0X2ZyZWVfYnVkZHkodW5zaWduZWQgaW50IHpvbmVfbG8sCiAKICAgICAg ICAgICAgIC8qIEZpbmQgc21hbGxlc3Qgb3JkZXIgd2hpY2ggY2FuIHNhdGlzZnkgdGhlIHJlcXVl c3QuICovCiAgICAgICAgICAgICBmb3IgKCBqID0gb3JkZXI7IGogPD0gTUFYX09SREVSOyBqKysg KQorICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGlmICggKHBnID0gcGFnZV9saXN0X3Jl bW92ZV9oZWFkKCZoZWFwKG5vZGUsIHpvbmUsIGopKSkgKQotICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gcGc7CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAvKgorICAg ICAgICAgICAgICAgICAgICAgKiBXZSBncmFiIHNpbmdsZSBwYWdlcyAob3JkZXI9MCkgZXZlbiBp ZiB0aGV5IGFyZQorICAgICAgICAgICAgICAgICAgICAgKiB1bnNjcnViYmVkLiBHaXZlbiB0aGF0 IHNjcnViYmluZyBvbmUgcGFnZSBpcyBmYWlybHkgcXVpY2sKKyAgICAgICAgICAgICAgICAgICAg ICogaXQgaXMgbm90IHdvcnRoIGJyZWFraW5nIGhpZ2hlciBvcmRlcnMuCisgICAgICAgICAgICAg ICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBpZiAoIChvcmRlciA9PSAwKSB8fCB1c2Vf dW5zY3J1YmJlZCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgIHBnLT51LmZyZWUuZmlyc3Rf ZGlydHkgPT0gSU5WQUxJRF9ESVJUWV9JRFgpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1 cm4gcGc7CisgICAgICAgICAgICAgICAgICAgIHBhZ2VfbGlzdF9hZGRfdGFpbChwZywgJmhlYXAo bm9kZSwgem9uZSwgaikpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAg ICAgfSB3aGlsZSAoIHpvbmUtLSA+IHpvbmVfbG8gKTsgLyogY2FyZWZ1bDogdW5zaWduZWQgem9u ZSBtYXkgd3JhcCAqLwogCiAgICAgICAgIGlmICggKG1lbWZsYWdzICYgTUVNRl9leGFjdF9ub2Rl KSAmJiByZXFfbm9kZSAhPSBOVU1BX05PX05PREUgKQpAQCAtNzc1LDcgKzc4OCw3IEBAIHN0YXRp YyBzdHJ1Y3QgcGFnZV9pbmZvICphbGxvY19oZWFwX3BhZ2VzKAogICAgIHVuc2lnbmVkIGludCBp LCBidWRkeV9vcmRlciwgem9uZTsKICAgICB1bnNpZ25lZCBsb25nIHJlcXVlc3QgPSAxVUwgPDwg b3JkZXI7CiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGcsICpmaXJzdF9kaXJ0eV9wZyA9IE5VTEw7 Ci0gICAgYm9vbF90IG5lZWRfdGxiZmx1c2ggPSAwOworICAgIGJvb2wgbmVlZF9zY3J1YiwgbmVl ZF90bGJmbHVzaCA9IGZhbHNlOwogICAgIHVpbnQzMl90IHRsYmZsdXNoX3RpbWVzdGFtcCA9IDA7 CiAKICAgICAvKiBNYWtlIHN1cmUgdGhlcmUgYXJlIGVub3VnaCBiaXRzIGluIG1lbWZsYWdzIGZv ciBub2RlSUQuICovCkBAIC04MTksNiArODMyLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgcGFnZV9pbmZv ICphbGxvY19oZWFwX3BhZ2VzKAogICAgICB9CiAgCiAgICAgcGcgPSBnZXRfZnJlZV9idWRkeSh6 b25lX2xvLCB6b25lX2hpLCBvcmRlciwgbWVtZmxhZ3MsIGQpOworICAgIC8qIFRyeSBnZXR0aW5n IGEgZGlydHkgYnVkZHkgaWYgd2UgY291bGRuJ3QgZ2V0IGEgY2xlYW4gb25lLiAqLworICAgIGlm ICggIXBnICYmICEobWVtZmxhZ3MgJiBNRU1GX25vX3NjcnViKSApCisgICAgICAgIHBnID0gZ2V0 X2ZyZWVfYnVkZHkoem9uZV9sbywgem9uZV9oaSwgb3JkZXIsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWVtZmxhZ3MgfCBNRU1GX25vX3NjcnViLCBkKTsKICAgICBpZiAoICFwZyApCiAg ICAgewogICAgICAgICAvKiBObyBzdWl0YWJsZSBtZW1vcnkgYmxvY2tzLiBGYWlsIHRoZSByZXF1 ZXN0LiAqLwpAQCAtODYyLDEwICs4NzksMTkgQEAgc3RhdGljIHN0cnVjdCBwYWdlX2luZm8gKmFs bG9jX2hlYXBfcGFnZXMoCiAgICAgaWYgKCBkICE9IE5VTEwgKQogICAgICAgICBkLT5sYXN0X2Fs bG9jX25vZGUgPSBub2RlOwogCisgICAgbmVlZF9zY3J1YiA9ICEhZmlyc3RfZGlydHlfcGcgJiYg IShtZW1mbGFncyAmIE1FTUZfbm9fc2NydWIpOwogICAgIGZvciAoIGkgPSAwOyBpIDwgKDEgPDwg b3JkZXIpOyBpKysgKQogICAgIHsKICAgICAgICAgLyogUmVmZXJlbmNlIGNvdW50IG11c3QgY29u dGludW91c2x5IGJlIHplcm8gZm9yIGZyZWUgcGFnZXMuICovCi0gICAgICAgIEJVR19PTihwZ1tp XS5jb3VudF9pbmZvICE9IFBHQ19zdGF0ZV9mcmVlKTsKKyAgICAgICAgQlVHX09OKChwZ1tpXS5j b3VudF9pbmZvICYgflBHQ19uZWVkX3NjcnViKSAhPSBQR0Nfc3RhdGVfZnJlZSk7CisKKyAgICAg ICAgaWYgKCB0ZXN0X2JpdChfUEdDX25lZWRfc2NydWIsICZwZ1tpXS5jb3VudF9pbmZvKSApCisg ICAgICAgIHsKKyAgICAgICAgICAgIGlmICggbmVlZF9zY3J1YiApCisgICAgICAgICAgICAgICAg c2NydWJfb25lX3BhZ2UoJnBnW2ldKTsKKyAgICAgICAgICAgIG5vZGVfbmVlZF9zY3J1Yltub2Rl XS0tOworICAgICAgICB9CisKICAgICAgICAgcGdbaV0uY291bnRfaW5mbyA9IFBHQ19zdGF0ZV9p bnVzZTsKIAogICAgICAgICBpZiAoICEobWVtZmxhZ3MgJiBNRU1GX25vX3RsYmZsdXNoKSApCkBA IC0xNzQ5LDcgKzE3NzUsNyBAQCB2b2lkICphbGxvY194ZW5oZWFwX3BhZ2VzKHVuc2lnbmVkIGlu dCBvcmRlciwgdW5zaWduZWQgaW50IG1lbWZsYWdzKQogICAgIEFTU0VSVCghaW5faXJxKCkpOwog CiAgICAgcGcgPSBhbGxvY19oZWFwX3BhZ2VzKE1FTVpPTkVfWEVOLCBNRU1aT05FX1hFTiwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIsIG1lbWZsYWdzLCBOVUxMKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgb3JkZXIsIG1lbWZsYWdzIHwgTUVNRl9ub19zY3J1YiwgTlVMTCk7 CiAgICAgaWYgKCB1bmxpa2VseShwZyA9PSBOVUxMKSApCiAgICAgICAgIHJldHVybiBOVUxMOwog CkBAIC0xNzk5LDcgKzE4MjUsNyBAQCB2b2lkICphbGxvY194ZW5oZWFwX3BhZ2VzKHVuc2lnbmVk IGludCBvcmRlciwgdW5zaWduZWQgaW50IG1lbWZsYWdzKQogICAgIGlmICggIShtZW1mbGFncyA+ PiBfTUVNRl9iaXRzKSApCiAgICAgICAgIG1lbWZsYWdzIHw9IE1FTUZfYml0cyh4ZW5oZWFwX2Jp dHMpOwogCi0gICAgcGcgPSBhbGxvY19kb21oZWFwX3BhZ2VzKE5VTEwsIG9yZGVyLCBtZW1mbGFn cyk7CisgICAgcGcgPSBhbGxvY19kb21oZWFwX3BhZ2VzKE5VTEwsIG9yZGVyLCBtZW1mbGFncyB8 IE1FTUZfbm9fc2NydWIpOwogICAgIGlmICggdW5saWtlbHkocGcgPT0gTlVMTCkgKQogICAgICAg ICByZXR1cm4gTlVMTDsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL21tLmggYi94ZW4v aW5jbHVkZS94ZW4vbW0uaAppbmRleCAzZDNmMzFiLi41ZjNkODRhIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS94ZW4vbW0uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vbW0uaApAQCAtMjM4LDcgKzIz OCw5IEBAIHN0cnVjdCBucGZlYyB7CiAjZGVmaW5lICBNRU1GX25vX3RsYmZsdXNoICgxVTw8X01F TUZfbm9fdGxiZmx1c2gpCiAjZGVmaW5lIF9NRU1GX25vX2ljYWNoZV9mbHVzaCA3CiAjZGVmaW5l ICBNRU1GX25vX2ljYWNoZV9mbHVzaCAoMVU8PF9NRU1GX25vX2ljYWNoZV9mbHVzaCkKLSNkZWZp bmUgX01FTUZfbm9kZSAgICAgICAgOAorI2RlZmluZSBfTUVNRl9ub19zY3J1YiAgICA4CisjZGVm aW5lICBNRU1GX25vX3NjcnViICAgICgxVTw8X01FTUZfbm9fc2NydWIpCisjZGVmaW5lIF9NRU1G X25vZGUgICAgICAgIDE2CiAjZGVmaW5lICBNRU1GX25vZGVfbWFzayAgICgoMVUgPDwgKDggKiBz aXplb2Yobm9kZWlkX3QpKSkgLSAxKQogI2RlZmluZSAgTUVNRl9ub2RlKG4pICAgICAoKCgobikg KyAxKSAmIE1FTUZfbm9kZV9tYXNrKSA8PCBfTUVNRl9ub2RlKQogI2RlZmluZSAgTUVNRl9nZXRf bm9kZShmKSAoKCgoZikgPj4gX01FTUZfbm9kZSkgLSAxKSAmIE1FTUZfbm9kZV9tYXNrKQotLSAK MS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=