From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v6 3/8] mm: Scrub pages in alloc_heap_pages() if needed Date: Fri, 4 Aug 2017 13:05:41 -0400 Message-ID: <1501866346-9774-4-git-send-email-boris.ostrovsky@oracle.com> References: <1501866346-9774-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: <1501866346-9774-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+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQpDaGFu Z2VzIGluIHY2OgoqIERyb3BwZWQgdW5uZWNlc3NhcnkgbmVlZF9zY3J1Yi4KCiB4ZW4vY29tbW9u L3BhZ2VfYWxsb2MuYyB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogeGVu L2luY2x1ZGUveGVuL21tLmggICAgfCAgNCArKystCiAyIGZpbGVzIGNoYW5nZWQsIDMyIGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9wYWdlX2Fs bG9jLmMgYi94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYwppbmRleCA2ZDc0MjJkLi5lZWRmZjJkIDEw MDY0NAotLS0gYS94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYworKysgYi94ZW4vY29tbW9uL3BhZ2Vf YWxsb2MuYwpAQCAtNzA2LDYgKzcwNiw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGFnZV9pbmZvICpnZXRf ZnJlZV9idWRkeSh1bnNpZ25lZCBpbnQgem9uZV9sbywKICAgICBub2RlbWFza190IG5vZGVtYXNr ID0gZCA/IGQtPm5vZGVfYWZmaW5pdHkgOiBub2RlX29ubGluZV9tYXA7CiAgICAgdW5zaWduZWQg aW50IGosIHpvbmUsIG5vZGVtYXNrX3JldHJ5ID0gMDsKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpw ZzsKKyAgICBib29sIHVzZV91bnNjcnViYmVkID0gKG1lbWZsYWdzICYgTUVNRl9ub19zY3J1Yik7 CiAKICAgICBpZiAoIG5vZGUgPT0gTlVNQV9OT19OT0RFICkKICAgICB7CkBAIC03MzcsOCArNzM4 LDIwIEBAIHN0YXRpYyBzdHJ1Y3QgcGFnZV9pbmZvICpnZXRfZnJlZV9idWRkeSh1bnNpZ25lZCBp bnQgem9uZV9sbywKIAogICAgICAgICAgICAgLyogRmluZCBzbWFsbGVzdCBvcmRlciB3aGljaCBj YW4gc2F0aXNmeSB0aGUgcmVxdWVzdC4gKi8KICAgICAgICAgICAgIGZvciAoIGogPSBvcmRlcjsg aiA8PSBNQVhfT1JERVI7IGorKyApCisgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgaWYg KCAocGcgPSBwYWdlX2xpc3RfcmVtb3ZlX2hlYWQoJmhlYXAobm9kZSwgem9uZSwgaikpKSApCi0g ICAgICAgICAgICAgICAgICAgIHJldHVybiBwZzsKKyAgICAgICAgICAgICAgICB7CisgICAgICAg ICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAqIFdlIGdyYWIgc2luZ2xlIHBh Z2VzIChvcmRlcj0wKSBldmVuIGlmIHRoZXkgYXJlCisgICAgICAgICAgICAgICAgICAgICAqIHVu c2NydWJiZWQuIEdpdmVuIHRoYXQgc2NydWJiaW5nIG9uZSBwYWdlIGlzIGZhaXJseSBxdWljawor ICAgICAgICAgICAgICAgICAgICAgKiBpdCBpcyBub3Qgd29ydGggYnJlYWtpbmcgaGlnaGVyIG9y ZGVycy4KKyAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgIGlmICgg KG9yZGVyID09IDApIHx8IHVzZV91bnNjcnViYmVkIHx8CisgICAgICAgICAgICAgICAgICAgICAg ICAgcGctPnUuZnJlZS5maXJzdF9kaXJ0eSA9PSBJTlZBTElEX0RJUlRZX0lEWCkKKyAgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBwZzsKKyAgICAgICAgICAgICAgICAgICAgcGFnZV9saXN0 X2FkZF90YWlsKHBnLCAmaGVhcChub2RlLCB6b25lLCBqKSk7CisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgfQogICAgICAgICB9IHdoaWxlICggem9uZS0tID4gem9uZV9sbyApOyAvKiBj YXJlZnVsOiB1bnNpZ25lZCB6b25lIG1heSB3cmFwICovCiAKICAgICAgICAgaWYgKCAobWVtZmxh Z3MgJiBNRU1GX2V4YWN0X25vZGUpICYmIHJlcV9ub2RlICE9IE5VTUFfTk9fTk9ERSApCkBAIC04 MjIsNiArODM1LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgcGFnZV9pbmZvICphbGxvY19oZWFwX3BhZ2Vz KAogICAgIH0KIAogICAgIHBnID0gZ2V0X2ZyZWVfYnVkZHkoem9uZV9sbywgem9uZV9oaSwgb3Jk ZXIsIG1lbWZsYWdzLCBkKTsKKyAgICAvKiBUcnkgZ2V0dGluZyBhIGRpcnR5IGJ1ZGR5IGlmIHdl IGNvdWxkbid0IGdldCBhIGNsZWFuIG9uZS4gKi8KKyAgICBpZiAoICFwZyAmJiAhKG1lbWZsYWdz ICYgTUVNRl9ub19zY3J1YikgKQorICAgICAgICBwZyA9IGdldF9mcmVlX2J1ZGR5KHpvbmVfbG8s IHpvbmVfaGksIG9yZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbWZsYWdzIHwg TUVNRl9ub19zY3J1YiwgZCk7CiAgICAgaWYgKCAhcGcgKQogICAgIHsKICAgICAgICAgLyogTm8g c3VpdGFibGUgbWVtb3J5IGJsb2Nrcy4gRmFpbCB0aGUgcmVxdWVzdC4gKi8KQEAgLTg2Nyw3ICs4 ODQsMTUgQEAgc3RhdGljIHN0cnVjdCBwYWdlX2luZm8gKmFsbG9jX2hlYXBfcGFnZXMoCiAgICAg Zm9yICggaSA9IDA7IGkgPCAoMSA8PCBvcmRlcik7IGkrKyApCiAgICAgewogICAgICAgICAvKiBS ZWZlcmVuY2UgY291bnQgbXVzdCBjb250aW51b3VzbHkgYmUgemVybyBmb3IgZnJlZSBwYWdlcy4g Ki8KLSAgICAgICAgQlVHX09OKHBnW2ldLmNvdW50X2luZm8gIT0gUEdDX3N0YXRlX2ZyZWUpOwor ICAgICAgICBCVUdfT04oKHBnW2ldLmNvdW50X2luZm8gJiB+UEdDX25lZWRfc2NydWIpICE9IFBH Q19zdGF0ZV9mcmVlKTsKKworICAgICAgICBpZiAoIHRlc3RfYml0KF9QR0NfbmVlZF9zY3J1Yiwg JnBnW2ldLmNvdW50X2luZm8pICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAhKG1lbWZs YWdzICYgTUVNRl9ub19zY3J1YikgKQorICAgICAgICAgICAgICAgIHNjcnViX29uZV9wYWdlKCZw Z1tpXSk7CisgICAgICAgICAgICBub2RlX25lZWRfc2NydWJbbm9kZV0tLTsKKyAgICAgICAgfQor CiAgICAgICAgIHBnW2ldLmNvdW50X2luZm8gPSBQR0Nfc3RhdGVfaW51c2U7CiAKICAgICAgICAg aWYgKCAhKG1lbWZsYWdzICYgTUVNRl9ub190bGJmbHVzaCkgKQpAQCAtMTc1MSw3ICsxNzc2LDcg QEAgdm9pZCAqYWxsb2NfeGVuaGVhcF9wYWdlcyh1bnNpZ25lZCBpbnQgb3JkZXIsIHVuc2lnbmVk IGludCBtZW1mbGFncykKICAgICBBU1NFUlQoIWluX2lycSgpKTsKIAogICAgIHBnID0gYWxsb2Nf aGVhcF9wYWdlcyhNRU1aT05FX1hFTiwgTUVNWk9ORV9YRU4sCi0gICAgICAgICAgICAgICAgICAg ICAgICAgIG9yZGVyLCBtZW1mbGFncywgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAg IG9yZGVyLCBtZW1mbGFncyB8IE1FTUZfbm9fc2NydWIsIE5VTEwpOwogICAgIGlmICggdW5saWtl bHkocGcgPT0gTlVMTCkgKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMTgwMSw3ICsxODI2 LDcgQEAgdm9pZCAqYWxsb2NfeGVuaGVhcF9wYWdlcyh1bnNpZ25lZCBpbnQgb3JkZXIsIHVuc2ln bmVkIGludCBtZW1mbGFncykKICAgICBpZiAoICEobWVtZmxhZ3MgPj4gX01FTUZfYml0cykgKQog ICAgICAgICBtZW1mbGFncyB8PSBNRU1GX2JpdHMoeGVuaGVhcF9iaXRzKTsKIAotICAgIHBnID0g YWxsb2NfZG9taGVhcF9wYWdlcyhOVUxMLCBvcmRlciwgbWVtZmxhZ3MpOworICAgIHBnID0gYWxs b2NfZG9taGVhcF9wYWdlcyhOVUxMLCBvcmRlciwgbWVtZmxhZ3MgfCBNRU1GX25vX3NjcnViKTsK ICAgICBpZiAoIHVubGlrZWx5KHBnID09IE5VTEwpICkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9tbS5oIGIveGVuL2luY2x1ZGUveGVuL21tLmgK aW5kZXggNTAzYjkyZS4uZTFmOWM0MiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL21tLmgK KysrIGIveGVuL2luY2x1ZGUveGVuL21tLmgKQEAgLTI0OCw3ICsyNDgsOSBAQCBzdHJ1Y3QgbnBm ZWMgewogI2RlZmluZSAgTUVNRl9ub190bGJmbHVzaCAoMVU8PF9NRU1GX25vX3RsYmZsdXNoKQog I2RlZmluZSBfTUVNRl9ub19pY2FjaGVfZmx1c2ggNwogI2RlZmluZSAgTUVNRl9ub19pY2FjaGVf Zmx1c2ggKDFVPDxfTUVNRl9ub19pY2FjaGVfZmx1c2gpCi0jZGVmaW5lIF9NRU1GX25vZGUgICAg ICAgIDgKKyNkZWZpbmUgX01FTUZfbm9fc2NydWIgICAgOAorI2RlZmluZSAgTUVNRl9ub19zY3J1 YiAgICAoMVU8PF9NRU1GX25vX3NjcnViKQorI2RlZmluZSBfTUVNRl9ub2RlICAgICAgICAxNgog I2RlZmluZSAgTUVNRl9ub2RlX21hc2sgICAoKDFVIDw8ICg4ICogc2l6ZW9mKG5vZGVpZF90KSkp IC0gMSkKICNkZWZpbmUgIE1FTUZfbm9kZShuKSAgICAgKCgoKG4pICsgMSkgJiBNRU1GX25vZGVf bWFzaykgPDwgX01FTUZfbm9kZSkKICNkZWZpbmUgIE1FTUZfZ2V0X25vZGUoZikgKCgoKGYpID4+ IF9NRU1GX25vZGUpIC0gMSkgJiBNRU1GX25vZGVfbWFzaykKLS0gCjEuOC4zLjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK