From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCHES v8 3/8] mm: Scrub pages in alloc_heap_pages() if needed Date: Wed, 16 Aug 2017 14:33:09 -0400 Message-ID: <1502908394-9760-4-git-send-email-boris.ostrovsky@oracle.com> References: <1502908394-9760-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: <1502908394-9760-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, julien.grall@arm.com, jbeulich@suse.com, Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org V2hlbiBhbGxvY2F0aW5nIHBhZ2VzIGluIGFsbG9jX2hlYXBfcGFnZXMoKSBmaXJzdCBsb29rIGZv ciBjbGVhbiBwYWdlcy4gSWYgbm9uZQppcyBmb3VuZCB0aGVuIHJldHJ5LCB0YWtlIHBhZ2VzIG1h cmtlZCBhcyB1bnNjcnViYmVkIGFuZCBzY3J1YiB0aGVtLgoKTm90ZSB0aGF0IHdlIHNob3VsZG4n dCBmaW5kIHVuc2NydWJiZWQgcGFnZXMgaW4gYWxsb2NfaGVhcF9wYWdlcygpIHlldC4gSG93ZXZl ciwKdGhpcyB3aWxsIGJlY29tZSBwb3NzaWJsZSB3aGVuIHdlIHN0b3Agc2NydWJiaW5nIGZyb20g ZnJlZV9oZWFwX3BhZ2VzKCkgYW5kCmluc3RlYWQgZG8gaXQgZnJvbSBpZGxlIGxvb3AuCgpTaW5j ZSBub3QgYWxsIGFsbG9jYXRpb25zIHJlcXVpcmUgY2xlYW4gcGFnZXMgKHN1Y2ggYXMgeGVuaGVh cCBhbGxvY2F0aW9ucykKaW50cm9kdWNlIE1FTUZfbm9fc2NydWIgZmxhZyB0aGF0IGNhbGxlcnMg Y2FuIHNldCBpZiB0aGV5IGFyZSB3aWxsaW5nIHRvCmNvbnN1bWUgdW5zY3J1YmJlZCBwYWdlcy4K ClNpZ25lZC1vZmYtYnk6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5j b20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQogeGVu L2NvbW1vbi9wYWdlX2FsbG9jLmMgfCAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0KIHhlbi9pbmNsdWRlL3hlbi9tbS5oICAgIHwgIDQgKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAz MiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24v cGFnZV9hbGxvYy5jIGIveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMKaW5kZXggNWM1NTBiNS4uMTMw MzczNiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMKKysrIGIveGVuL2NvbW1v bi9wYWdlX2FsbG9jLmMKQEAgLTcwMiw2ICs3MDIsNyBAQCBzdGF0aWMgc3RydWN0IHBhZ2VfaW5m byAqZ2V0X2ZyZWVfYnVkZHkodW5zaWduZWQgaW50IHpvbmVfbG8sCiAgICAgbm9kZW1hc2tfdCBu b2RlbWFzayA9IGQgPyBkLT5ub2RlX2FmZmluaXR5IDogbm9kZV9vbmxpbmVfbWFwOwogICAgIHVu c2lnbmVkIGludCBqLCB6b25lLCBub2RlbWFza19yZXRyeSA9IDA7CiAgICAgc3RydWN0IHBhZ2Vf aW5mbyAqcGc7CisgICAgYm9vbCB1c2VfdW5zY3J1YmJlZCA9IChtZW1mbGFncyAmIE1FTUZfbm9f c2NydWIpOwogCiAgICAgaWYgKCBub2RlID09IE5VTUFfTk9fTk9ERSApCiAgICAgewpAQCAtNzMz LDggKzczNCwyMCBAQCBzdGF0aWMgc3RydWN0IHBhZ2VfaW5mbyAqZ2V0X2ZyZWVfYnVkZHkodW5z aWduZWQgaW50IHpvbmVfbG8sCiAKICAgICAgICAgICAgIC8qIEZpbmQgc21hbGxlc3Qgb3JkZXIg d2hpY2ggY2FuIHNhdGlzZnkgdGhlIHJlcXVlc3QuICovCiAgICAgICAgICAgICBmb3IgKCBqID0g b3JkZXI7IGogPD0gTUFYX09SREVSOyBqKysgKQorICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgIGlmICggKHBnID0gcGFnZV9saXN0X3JlbW92ZV9oZWFkKCZoZWFwKG5vZGUsIHpvbmUsIGop KSkgKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGc7CisgICAgICAgICAgICAgICAgewor ICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgKiBXZSBncmFiIHNp bmdsZSBwYWdlcyAob3JkZXI9MCkgZXZlbiBpZiB0aGV5IGFyZQorICAgICAgICAgICAgICAgICAg ICAgKiB1bnNjcnViYmVkLiBHaXZlbiB0aGF0IHNjcnViYmluZyBvbmUgcGFnZSBpcyBmYWlybHkg cXVpY2sKKyAgICAgICAgICAgICAgICAgICAgICogaXQgaXMgbm90IHdvcnRoIGJyZWFraW5nIGhp Z2hlciBvcmRlcnMuCisgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAg ICBpZiAoIChvcmRlciA9PSAwKSB8fCB1c2VfdW5zY3J1YmJlZCB8fAorICAgICAgICAgICAgICAg ICAgICAgICAgIHBnLT51LmZyZWUuZmlyc3RfZGlydHkgPT0gSU5WQUxJRF9ESVJUWV9JRFgpCisg ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGc7CisgICAgICAgICAgICAgICAgICAgIHBh Z2VfbGlzdF9hZGRfdGFpbChwZywgJmhlYXAobm9kZSwgem9uZSwgaikpOworICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfSB3aGlsZSAoIHpvbmUtLSA+IHpvbmVfbG8g KTsgLyogY2FyZWZ1bDogdW5zaWduZWQgem9uZSBtYXkgd3JhcCAqLwogCiAgICAgICAgIGlmICgg KG1lbWZsYWdzICYgTUVNRl9leGFjdF9ub2RlKSAmJiByZXFfbm9kZSAhPSBOVU1BX05PX05PREUg KQpAQCAtODE4LDYgKzgzMSwxMCBAQCBzdGF0aWMgc3RydWN0IHBhZ2VfaW5mbyAqYWxsb2NfaGVh cF9wYWdlcygKICAgICB9CiAKICAgICBwZyA9IGdldF9mcmVlX2J1ZGR5KHpvbmVfbG8sIHpvbmVf aGksIG9yZGVyLCBtZW1mbGFncywgZCk7CisgICAgLyogVHJ5IGdldHRpbmcgYSBkaXJ0eSBidWRk eSBpZiB3ZSBjb3VsZG4ndCBnZXQgYSBjbGVhbiBvbmUuICovCisgICAgaWYgKCAhcGcgJiYgISht ZW1mbGFncyAmIE1FTUZfbm9fc2NydWIpICkKKyAgICAgICAgcGcgPSBnZXRfZnJlZV9idWRkeSh6 b25lX2xvLCB6b25lX2hpLCBvcmRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1m bGFncyB8IE1FTUZfbm9fc2NydWIsIGQpOwogICAgIGlmICggIXBnICkKICAgICB7CiAgICAgICAg IC8qIE5vIHN1aXRhYmxlIG1lbW9yeSBibG9ja3MuIEZhaWwgdGhlIHJlcXVlc3QuICovCkBAIC04 NjMsNyArODgwLDE1IEBAIHN0YXRpYyBzdHJ1Y3QgcGFnZV9pbmZvICphbGxvY19oZWFwX3BhZ2Vz KAogICAgIGZvciAoIGkgPSAwOyBpIDwgKDEgPDwgb3JkZXIpOyBpKysgKQogICAgIHsKICAgICAg ICAgLyogUmVmZXJlbmNlIGNvdW50IG11c3QgY29udGludW91c2x5IGJlIHplcm8gZm9yIGZyZWUg cGFnZXMuICovCi0gICAgICAgIEJVR19PTihwZ1tpXS5jb3VudF9pbmZvICE9IFBHQ19zdGF0ZV9m cmVlKTsKKyAgICAgICAgQlVHX09OKChwZ1tpXS5jb3VudF9pbmZvICYgflBHQ19uZWVkX3NjcnVi KSAhPSBQR0Nfc3RhdGVfZnJlZSk7CisKKyAgICAgICAgaWYgKCB0ZXN0X2JpdChfUEdDX25lZWRf c2NydWIsICZwZ1tpXS5jb3VudF9pbmZvKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICgg IShtZW1mbGFncyAmIE1FTUZfbm9fc2NydWIpICkKKyAgICAgICAgICAgICAgICBzY3J1Yl9vbmVf cGFnZSgmcGdbaV0pOworICAgICAgICAgICAgbm9kZV9uZWVkX3NjcnViW25vZGVdLS07CisgICAg ICAgIH0KKwogICAgICAgICBwZ1tpXS5jb3VudF9pbmZvID0gUEdDX3N0YXRlX2ludXNlOwogCiAg ICAgICAgIGlmICggIShtZW1mbGFncyAmIE1FTUZfbm9fdGxiZmx1c2gpICkKQEAgLTE3MzcsNyAr MTc2Miw3IEBAIHZvaWQgKmFsbG9jX3hlbmhlYXBfcGFnZXModW5zaWduZWQgaW50IG9yZGVyLCB1 bnNpZ25lZCBpbnQgbWVtZmxhZ3MpCiAgICAgQVNTRVJUKCFpbl9pcnEoKSk7CiAKICAgICBwZyA9 IGFsbG9jX2hlYXBfcGFnZXMoTUVNWk9ORV9YRU4sIE1FTVpPTkVfWEVOLAotICAgICAgICAgICAg ICAgICAgICAgICAgICBvcmRlciwgbWVtZmxhZ3MsIE5VTEwpOworICAgICAgICAgICAgICAgICAg ICAgICAgICBvcmRlciwgbWVtZmxhZ3MgfCBNRU1GX25vX3NjcnViLCBOVUxMKTsKICAgICBpZiAo IHVubGlrZWx5KHBnID09IE5VTEwpICkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTE3ODcs NyArMTgxMiw3IEBAIHZvaWQgKmFsbG9jX3hlbmhlYXBfcGFnZXModW5zaWduZWQgaW50IG9yZGVy LCB1bnNpZ25lZCBpbnQgbWVtZmxhZ3MpCiAgICAgaWYgKCAhKG1lbWZsYWdzID4+IF9NRU1GX2Jp dHMpICkKICAgICAgICAgbWVtZmxhZ3MgfD0gTUVNRl9iaXRzKHhlbmhlYXBfYml0cyk7CiAKLSAg ICBwZyA9IGFsbG9jX2RvbWhlYXBfcGFnZXMoTlVMTCwgb3JkZXIsIG1lbWZsYWdzKTsKKyAgICBw ZyA9IGFsbG9jX2RvbWhlYXBfcGFnZXMoTlVMTCwgb3JkZXIsIG1lbWZsYWdzIHwgTUVNRl9ub19z Y3J1Yik7CiAgICAgaWYgKCB1bmxpa2VseShwZyA9PSBOVUxMKSApCiAgICAgICAgIHJldHVybiBO VUxMOwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vbW0uaCBiL3hlbi9pbmNsdWRlL3hl bi9tbS5oCmluZGV4IDUwM2I5MmUuLmUxZjljNDIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hl bi9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9tbS5oCkBAIC0yNDgsNyArMjQ4LDkgQEAgc3Ry dWN0IG5wZmVjIHsKICNkZWZpbmUgIE1FTUZfbm9fdGxiZmx1c2ggKDFVPDxfTUVNRl9ub190bGJm bHVzaCkKICNkZWZpbmUgX01FTUZfbm9faWNhY2hlX2ZsdXNoIDcKICNkZWZpbmUgIE1FTUZfbm9f aWNhY2hlX2ZsdXNoICgxVTw8X01FTUZfbm9faWNhY2hlX2ZsdXNoKQotI2RlZmluZSBfTUVNRl9u b2RlICAgICAgICA4CisjZGVmaW5lIF9NRU1GX25vX3NjcnViICAgIDgKKyNkZWZpbmUgIE1FTUZf bm9fc2NydWIgICAgKDFVPDxfTUVNRl9ub19zY3J1YikKKyNkZWZpbmUgX01FTUZfbm9kZSAgICAg ICAgMTYKICNkZWZpbmUgIE1FTUZfbm9kZV9tYXNrICAgKCgxVSA8PCAoOCAqIHNpemVvZihub2Rl aWRfdCkpKSAtIDEpCiAjZGVmaW5lICBNRU1GX25vZGUobikgICAgICgoKChuKSArIDEpICYgTUVN Rl9ub2RlX21hc2spIDw8IF9NRU1GX25vZGUpCiAjZGVmaW5lICBNRU1GX2dldF9ub2RlKGYpICgo KChmKSA+PiBfTUVNRl9ub2RlKSAtIDEpICYgTUVNRl9ub2RlX21hc2spCi0tIAoxLjguMy4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==