From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v4 3/8] mm: Scrub pages in alloc_heap_pages() if needed Date: Fri, 19 May 2017 11:50:35 -0400 Message-ID: <1495209040-11101-4-git-send-email-boris.ostrovsky@oracle.com> References: <1495209040-11101-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: <1495209040-11101-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+Ci0tLQpDaGFuZ2VzIGluIHY0OgoqIEFkZCBNRU1GX25vX3RsYmZsdXNoIGZsYWcKCiB4ZW4v Y29tbW9uL3BhZ2VfYWxsb2MuYyB8IDQzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0KIHhlbi9pbmNsdWRlL3hlbi9tbS5oICAgIHwgIDIgKysKIDIgZmlsZXMgY2hh bmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v Y29tbW9uL3BhZ2VfYWxsb2MuYyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCmluZGV4IDFlNTc4 ODUuLmI3Yzc0MjYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCisrKyBiL3hl bi9jb21tb24vcGFnZV9hbGxvYy5jCkBAIC03MDMsNiArNzAzLDcgQEAgc3RhdGljIHN0cnVjdCBw YWdlX2luZm8gKmdldF9mcmVlX2J1ZGR5KHVuc2lnbmVkIGludCB6b25lX2xvLAogICAgIG5vZGVt YXNrX3Qgbm9kZW1hc2sgPSBkID8gZC0+bm9kZV9hZmZpbml0eSA6IG5vZGVfb25saW5lX21hcDsK ICAgICB1bnNpZ25lZCBpbnQgaiwgem9uZSwgbm9kZW1hc2tfcmV0cnkgPSAwLCByZXF1ZXN0ID0g MVVMIDw8IG9yZGVyOwogICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnOworICAgIGJvb2wgdXNlX3Vu c2NydWJiZWQgPSAobWVtZmxhZ3MgJiBNRU1GX25vX3NjcnViKTsKIAogICAgIGlmICggbm9kZSA9 PSBOVU1BX05PX05PREUgKQogICAgIHsKQEAgLTczNCw4ICs3MzUsMTUgQEAgc3RhdGljIHN0cnVj dCBwYWdlX2luZm8gKmdldF9mcmVlX2J1ZGR5KHVuc2lnbmVkIGludCB6b25lX2xvLAogCiAgICAg ICAgICAgICAvKiBGaW5kIHNtYWxsZXN0IG9yZGVyIHdoaWNoIGNhbiBzYXRpc2Z5IHRoZSByZXF1 ZXN0LiAqLwogICAgICAgICAgICAgZm9yICggaiA9IG9yZGVyOyBqIDw9IE1BWF9PUkRFUjsgaisr ICkKKyAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBpZiAoIChwZyA9IHBhZ2VfbGlzdF9y ZW1vdmVfaGVhZCgmaGVhcChub2RlLCB6b25lLCBqKSkpICkKLSAgICAgICAgICAgICAgICAgICAg cmV0dXJuIHBnOworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCAo b3JkZXIgPT0gMCkgfHwgdXNlX3Vuc2NydWJiZWQgfHwKKyAgICAgICAgICAgICAgICAgICAgICAg ICBwZy0+dS5mcmVlLmZpcnN0X2RpcnR5ID09IElOVkFMSURfRElSVFlfSURYKQorICAgICAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIHBnOworICAgICAgICAgICAgICAgICAgICBwYWdlX2xpc3Rf YWRkX3RhaWwocGcsICZoZWFwKG5vZGUsIHpvbmUsIGopKTsKKyAgICAgICAgICAgICAgICB9Cisg ICAgICAgICAgICB9CiAgICAgICAgIH0gd2hpbGUgKCB6b25lLS0gPiB6b25lX2xvICk7IC8qIGNh cmVmdWw6IHVuc2lnbmVkIHpvbmUgbWF5IHdyYXAgKi8KIAogICAgICAgICBpZiAoIChtZW1mbGFn cyAmIE1FTUZfZXhhY3Rfbm9kZSkgJiYgcmVxX25vZGUgIT0gTlVNQV9OT19OT0RFICkKQEAgLTgy MSw5ICs4MjksMTYgQEAgc3RhdGljIHN0cnVjdCBwYWdlX2luZm8gKmFsbG9jX2hlYXBfcGFnZXMo CiAgICAgcGcgPSBnZXRfZnJlZV9idWRkeSh6b25lX2xvLCB6b25lX2hpLCBvcmRlciwgbWVtZmxh Z3MsIGQpOwogICAgIGlmICggIXBnICkKICAgICB7Ci0gICAgICAgIC8qIE5vIHN1aXRhYmxlIG1l bW9yeSBibG9ja3MuIEZhaWwgdGhlIHJlcXVlc3QuICovCi0gICAgICAgIHNwaW5fdW5sb2NrKCZo ZWFwX2xvY2spOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgLyogVHJ5IG5vdyBnZXR0 aW5nIGEgZGlydHkgYnVkZHkuICovCisgICAgICAgIGlmICggIShtZW1mbGFncyAmIE1FTUZfbm9f c2NydWIpICkKKyAgICAgICAgICAgIHBnID0gZ2V0X2ZyZWVfYnVkZHkoem9uZV9sbywgem9uZV9o aSwgb3JkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbWZsYWdzIHwgTUVN Rl9ub19zY3J1YiwgZCk7CisgICAgICAgIGlmICggIXBnICkKKyAgICAgICAgeworICAgICAgICAg ICAgLyogTm8gc3VpdGFibGUgbWVtb3J5IGJsb2Nrcy4gRmFpbCB0aGUgcmVxdWVzdC4gKi8KKyAg ICAgICAgICAgIHNwaW5fdW5sb2NrKCZoZWFwX2xvY2spOworICAgICAgICAgICAgcmV0dXJuIE5V TEw7CisgICAgICAgIH0KICAgICB9CiAKICAgICBub2RlID0gcGh5c190b19uaWQocGFnZV90b19t YWRkcihwZykpOwpAQCAtODU1LDEwICs4NzAsMjQgQEAgc3RhdGljIHN0cnVjdCBwYWdlX2luZm8g KmFsbG9jX2hlYXBfcGFnZXMoCiAgICAgaWYgKCBkICE9IE5VTEwgKQogICAgICAgICBkLT5sYXN0 X2FsbG9jX25vZGUgPSBub2RlOwogCisgICAgbmVlZF9zY3J1YiAmPSAhKG1lbWZsYWdzICYgTUVN Rl9ub19zY3J1Yik7CiAgICAgZm9yICggaSA9IDA7IGkgPCAoMSA8PCBvcmRlcik7IGkrKyApCiAg ICAgewogICAgICAgICAvKiBSZWZlcmVuY2UgY291bnQgbXVzdCBjb250aW51b3VzbHkgYmUgemVy byBmb3IgZnJlZSBwYWdlcy4gKi8KLSAgICAgICAgQlVHX09OKHBnW2ldLmNvdW50X2luZm8gIT0g UEdDX3N0YXRlX2ZyZWUpOworICAgICAgICBCVUdfT04oKHBnW2ldLmNvdW50X2luZm8gJiB+UEdD X25lZWRfc2NydWIgKSAhPSBQR0Nfc3RhdGVfZnJlZSk7CisKKyAgICAgICAgaWYgKCB0ZXN0X2Jp dChfUEdDX25lZWRfc2NydWIsICZwZ1tpXS5jb3VudF9pbmZvKSApCisgICAgICAgIHsKKyAgICAg ICAgICAgIGlmICggbmVlZF9zY3J1YiApCisgICAgICAgICAgICAgICAgc2NydWJfb25lX3BhZ2Uo JnBnW2ldKTsKKyAgICAgICAgICAgIG5vZGVfbmVlZF9zY3J1Yltub2RlXS0tOworICAgICAgICAg ICAgLyoKKyAgICAgICAgICAgICAqIFRlY2huaWNhbGx5LCB3ZSBuZWVkIHRvIHNldCBmaXJzdF9k aXJ0eSB0byBJTlZBTElEX0RJUlRZX0lEWAorICAgICAgICAgICAgICogb24gYnVkZHkncyBoZWFk LiBIb3dldmVyLCBzaW5jZSB3ZSBhc3NpZ24gcGdbaV0uY291bnRfaW5mbworICAgICAgICAgICAg ICogYmVsb3csIHdlIGNhbiBza2lwIHRoaXMuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgfQor CiAgICAgICAgIHBnW2ldLmNvdW50X2luZm8gPSBQR0Nfc3RhdGVfaW51c2U7CiAKICAgICAgICAg aWYgKCAhKG1lbWZsYWdzICYgTUVNRl9ub190bGJmbHVzaCkgKQpAQCAtMTczNyw3ICsxNzY2LDcg QEAgdm9pZCAqYWxsb2NfeGVuaGVhcF9wYWdlcyh1bnNpZ25lZCBpbnQgb3JkZXIsIHVuc2lnbmVk IGludCBtZW1mbGFncykKICAgICBBU1NFUlQoIWluX2lycSgpKTsKIAogICAgIHBnID0gYWxsb2Nf aGVhcF9wYWdlcyhNRU1aT05FX1hFTiwgTUVNWk9ORV9YRU4sCi0gICAgICAgICAgICAgICAgICAg ICAgICAgIG9yZGVyLCBtZW1mbGFncywgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAg IG9yZGVyLCBtZW1mbGFncyB8IE1FTUZfbm9fc2NydWIsIE5VTEwpOwogICAgIGlmICggdW5saWtl bHkocGcgPT0gTlVMTCkgKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMTc4Nyw3ICsxODE2 LDcgQEAgdm9pZCAqYWxsb2NfeGVuaGVhcF9wYWdlcyh1bnNpZ25lZCBpbnQgb3JkZXIsIHVuc2ln bmVkIGludCBtZW1mbGFncykKICAgICBpZiAoICEobWVtZmxhZ3MgPj4gX01FTUZfYml0cykgKQog ICAgICAgICBtZW1mbGFncyB8PSBNRU1GX2JpdHMoeGVuaGVhcF9iaXRzKTsKIAotICAgIHBnID0g YWxsb2NfZG9taGVhcF9wYWdlcyhOVUxMLCBvcmRlciwgbWVtZmxhZ3MpOworICAgIHBnID0gYWxs b2NfZG9taGVhcF9wYWdlcyhOVUxMLCBvcmRlciwgbWVtZmxhZ3MgfCBNRU1GX25vX3NjcnViKTsK ICAgICBpZiAoIHVubGlrZWx5KHBnID09IE5VTEwpICkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9tbS5oIGIveGVuL2luY2x1ZGUveGVuL21tLmgK aW5kZXggODhkZTNjMS4uMGQ0YjdjMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL21tLmgK KysrIGIveGVuL2luY2x1ZGUveGVuL21tLmgKQEAgLTIyNCw2ICsyMjQsOCBAQCBzdHJ1Y3QgbnBm ZWMgewogI2RlZmluZSAgTUVNRl9ub19vd25lciAgICAoMVU8PF9NRU1GX25vX293bmVyKQogI2Rl ZmluZSBfTUVNRl9ub190bGJmbHVzaCA2CiAjZGVmaW5lICBNRU1GX25vX3RsYmZsdXNoICgxVTw8 X01FTUZfbm9fdGxiZmx1c2gpCisjZGVmaW5lIF9NRU1GX25vX3NjcnViICAgIDcKKyNkZWZpbmUg IE1FTUZfbm9fc2NydWIgICAgKDFVPDxfTUVNRl9ub19zY3J1YikKICNkZWZpbmUgX01FTUZfbm9k ZSAgICAgICAgOAogI2RlZmluZSAgTUVNRl9ub2RlX21hc2sgICAoKDFVIDw8ICg4ICogc2l6ZW9m KG5vZGVpZF90KSkpIC0gMSkKICNkZWZpbmUgIE1FTUZfbm9kZShuKSAgICAgKCgoKG4pICsgMSkg JiBNRU1GX25vZGVfbWFzaykgPDwgX01FTUZfbm9kZSkKLS0gCjEuOC4zLjEKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK