From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3.1 05/15] x86/paging: introduce paging_set_allocation Date: Sat, 29 Oct 2016 10:59:51 +0200 Message-ID: <1477731601-10926-6-git-send-email-roger.pau@citrix.com> References: <1477731601-10926-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0PV5-0001t5-PS for xen-devel@lists.xenproject.org; Sat, 29 Oct 2016 09:00:27 +0000 In-Reply-To: <1477731601-10926-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Cc: George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org Li4uIGFuZCByZW1vdmUgaGFwX3NldF9hbGxvY19mb3JfcHZoX2RvbTAuIFdoaWxlIHRoZXJlIGFs c28gY2hhbmdlIHRoZSBsYXN0CnBhcmFtZXRlciBvZiB0aGUge2hhcC9zaH1fc2V0X2FsbG9jYXRp b24gZnVuY3Rpb25zIHRvIGJlIGEgYm9vbGVhbi4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBN b25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpBY2tlZC1ieTogVGltIERlZWdhbiA8dGltQHhl bi5vcmc+CkFja2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+ Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3Bl ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5k dW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgotLS0KQ2hh bmdlcyBzaW5jZSB2MjoKIC0gQ29udmVydCB0aGUgcHJlZW1wdCBwYXJhbWV0ZXIgaW50byBhIGJv b2wuCiAtIEZpeCBEb20wIGJ1aWxkZXIgY29tbWVudCB0byByZWZsZWN0IHRoYXQgcGFnaW5nLm1v ZGUgc2hvdWxkIGJlIGNvcnJlY3QKICAgYmVmb3JlIGNhbGxpbmcgcGFnaW5nX3NldF9hbGxvY2F0 aW9uLgoKQ2hhbmdlcyBzaW5jZSBSRkM6CiAtIE1ha2UgcGFnaW5nX3NldF9hbGxvY2F0aW9uIHBy ZWVtdGFibGUuCiAtIE1vdmUgY29tbWVudHMuCi0tLQogeGVuL2FyY2gveDg2L2RvbWFpbl9idWls ZC5jICAgICB8IDIxICsrKysrKysrKysrKysrKy0tLS0tLQogeGVuL2FyY2gveDg2L21tL2hhcC9o YXAuYyAgICAgICB8IDIyICsrKysrLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9tbS9w YWdpbmcuYyAgICAgICAgfCAxOSArKysrKysrKysrKysrKysrKystCiB4ZW4vYXJjaC94ODYvbW0v c2hhZG93L2NvbW1vbi5jIHwgMTUgKysrKystLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2 L2hhcC5oICAgICAgIHwgIDQgKystLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaCAgICB8 ICA3ICsrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvc2hhZG93LmggICAgfCAxMCArKysrKysr KystCiA3IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNoL3g4Ni9k b21haW5fYnVpbGQuYwppbmRleCAwYTAyZDY1Li4xN2Y4ZTkxIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvZG9tYWluX2J1aWxkLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbl9idWlsZC5jCkBA IC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAjaW5jbHVkZSA8YXNtL2J6 aW1hZ2UuaD4gLyogZm9yIGJ6aW1hZ2VfcGFyc2UgKi8KICNpbmNsdWRlIDxhc20vaW9fYXBpYy5o PgotI2luY2x1ZGUgPGFzbS9oYXAuaD4KICNpbmNsdWRlIDxhc20vaHBldC5oPgogCiAjaW5jbHVk ZSA8cHVibGljL3ZlcnNpb24uaD4KQEAgLTEzODMsMTUgKzEzODIsMjUgQEAgaW50IF9faW5pdCBj b25zdHJ1Y3RfZG9tMCgKICAgICAgICAgICAgICAgICAgICAgICAgICBucl9wYWdlcyk7CiAgICAg fQogCi0gICAgaWYgKCBpc19wdmhfZG9tYWluKGQpICkKLSAgICAgICAgaGFwX3NldF9hbGxvY19m b3JfcHZoX2RvbTAoZCwgZG9tMF9wYWdpbmdfcGFnZXMoZCwgbnJfcGFnZXMpKTsKLQogICAgIC8q Ci0gICAgICogV2UgZW5hYmxlIHBhZ2luZyBtb2RlIGFnYWluIHNvIGd1ZXN0X3BoeXNtYXBfYWRk X3BhZ2Ugd2lsbCBkbyB0aGUKLSAgICAgKiByaWdodCB0aGluZyBmb3IgdXMuCisgICAgICogV2Ug ZW5hYmxlIHBhZ2luZyBtb2RlIGFnYWluIHNvIGd1ZXN0X3BoeXNtYXBfYWRkX3BhZ2UgYW5kCisg ICAgICogcGFnaW5nX3NldF9hbGxvY2F0aW9uIHdpbGwgZG8gdGhlIHJpZ2h0IHRoaW5nIGZvciB1 cy4KICAgICAgKi8KICAgICBkLT5hcmNoLnBhZ2luZy5tb2RlID0gc2F2ZV9wdmhfcGdfbW9kZTsK IAorICAgIGlmICggaXNfcHZoX2RvbWFpbihkKSApCisgICAgeworICAgICAgICBib29sIHByZWVt cHRlZDsKKworICAgICAgICBkbyB7CisgICAgICAgICAgICBwcmVlbXB0ZWQgPSBmYWxzZTsKKyAg ICAgICAgICAgIHBhZ2luZ19zZXRfYWxsb2NhdGlvbihkLCBkb20wX3BhZ2luZ19wYWdlcyhkLCBu cl9wYWdlcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnByZWVtcHRlZCk7 CisgICAgICAgICAgICBwcm9jZXNzX3BlbmRpbmdfc29mdGlycXMoKTsKKyAgICAgICAgfSB3aGls ZSAoIHByZWVtcHRlZCApOworICAgIH0KKworCiAgICAgLyogV3JpdGUgdGhlIHBoeXMtPm1hY2hp bmUgYW5kIG1hY2hpbmUtPnBoeXMgdGFibGUgZW50cmllcy4gKi8KICAgICBmb3IgKCBwZm4gPSAw OyBwZm4gPCBjb3VudDsgcGZuKysgKQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9t bS9oYXAvaGFwLmMgYi94ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCmluZGV4IDA2NDU1MjEuLmI5 MzA2MTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKKysrIGIveGVuL2Fy Y2gveDg2L21tL2hhcC9oYXAuYwpAQCAtMzM0LDggKzMzNCw3IEBAIGhhcF9nZXRfYWxsb2NhdGlv bihzdHJ1Y3QgZG9tYWluICpkKQogCiAvKiBTZXQgdGhlIHBvb2wgb2YgcGFnZXMgdG8gdGhlIHJl cXVpcmVkIG51bWJlciBvZiBwYWdlcy4KICAqIFJldHVybnMgMCBmb3Igc3VjY2Vzcywgbm9uLXpl cm8gZm9yIGZhaWx1cmUuICovCi1zdGF0aWMgaW50Ci1oYXBfc2V0X2FsbG9jYXRpb24oc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHBhZ2VzLCBpbnQgKnByZWVtcHRlZCkKK2ludCBoYXBf c2V0X2FsbG9jYXRpb24oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHBhZ2VzLCBib29s ICpwcmVlbXB0ZWQpCiB7CiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7CiAKQEAgLTM4Myw3ICsz ODIsNyBAQCBoYXBfc2V0X2FsbG9jYXRpb24oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50 IHBhZ2VzLCBpbnQgKnByZWVtcHRlZCkKICAgICAgICAgICAgICAoaXNfaWRsZV92Y3B1KGN1cnJl bnQpID8gc29mdGlycV9wZW5kaW5nKHNtcF9wcm9jZXNzb3JfaWQoKSkgOgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBoeXBlcmNhbGxfcHJlZW1wdF9jaGVjaygpKSApCiAg ICAgICAgIHsKLSAgICAgICAgICAgICpwcmVlbXB0ZWQgPSAxOworICAgICAgICAgICAgKnByZWVt cHRlZCA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgIH0KQEAg LTU2Myw3ICs1NjIsNyBAQCB2b2lkIGhhcF9maW5hbF90ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpk KQogICAgIHBhZ2luZ191bmxvY2soZCk7CiB9CiAKLXZvaWQgaGFwX3RlYXJkb3duKHN0cnVjdCBk b21haW4gKmQsIGludCAqcHJlZW1wdGVkKQordm9pZCBoYXBfdGVhcmRvd24oc3RydWN0IGRvbWFp biAqZCwgYm9vbCAqcHJlZW1wdGVkKQogewogICAgIHN0cnVjdCB2Y3B1ICp2OwogICAgIG1mbl90 IG1mbjsKQEAgLTYxMSw3ICs2MTAsOCBAQCBvdXQ6CiBpbnQgaGFwX2RvbWN0bChzdHJ1Y3QgZG9t YWluICpkLCB4ZW5fZG9tY3RsX3NoYWRvd19vcF90ICpzYywKICAgICAgICAgICAgICAgIFhFTl9H VUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgdV9kb21jdGwpCiB7Ci0gICAgaW50IHJjLCBwcmVlbXB0 ZWQgPSAwOworICAgIGludCByYzsKKyAgICBib29sIHByZWVtcHRlZCA9IGZhbHNlOwogCiAgICAg c3dpdGNoICggc2MtPm9wICkKICAgICB7CkBAIC02MzgsMTggKzYzOCw2IEBAIGludCBoYXBfZG9t Y3RsKHN0cnVjdCBkb21haW4gKmQsIHhlbl9kb21jdGxfc2hhZG93X29wX3QgKnNjLAogICAgIH0K IH0KIAotdm9pZCBfX2luaXQgaGFwX3NldF9hbGxvY19mb3JfcHZoX2RvbTAoc3RydWN0IGRvbWFp biAqZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv bmcgaGFwX3BhZ2VzKQotewotICAgIGludCByYzsKLQotICAgIHBhZ2luZ19sb2NrKGQpOwotICAg IHJjID0gaGFwX3NldF9hbGxvY2F0aW9uKGQsIGhhcF9wYWdlcywgTlVMTCk7Ci0gICAgcGFnaW5n X3VubG9jayhkKTsKLQotICAgIEJVR19PTihyYyk7Ci19Ci0KIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg cGFnaW5nX21vZGUgaGFwX3BhZ2luZ19yZWFsX21vZGU7CiBzdGF0aWMgY29uc3Qgc3RydWN0IHBh Z2luZ19tb2RlIGhhcF9wYWdpbmdfcHJvdGVjdGVkX21vZGU7CiBzdGF0aWMgY29uc3Qgc3RydWN0 IHBhZ2luZ19tb2RlIGhhcF9wYWdpbmdfcGFlX21vZGU7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvbW0vcGFnaW5nLmMgYi94ZW4vYXJjaC94ODYvbW0vcGFnaW5nLmMKaW5kZXggY2M0NDY4Mi4u NWQ4MGIwMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCisrKyBiL3hlbi9h cmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAtODA5LDcgKzgwOSw4IEBAIGxvbmcgcGFnaW5nX2RvbWN0 bF9jb250aW51YXRpb24oWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpIHVfZG9t Y3RsKQogLyogQ2FsbCB3aGVuIGRlc3Ryb3lpbmcgYSBkb21haW4gKi8KIGludCBwYWdpbmdfdGVh cmRvd24oc3RydWN0IGRvbWFpbiAqZCkKIHsKLSAgICBpbnQgcmMsIHByZWVtcHRlZCA9IDA7Cisg ICAgaW50IHJjOworICAgIGJvb2wgcHJlZW1wdGVkID0gZmFsc2U7CiAKICAgICBpZiAoIGhhcF9l bmFibGVkKGQpICkKICAgICAgICAgaGFwX3RlYXJkb3duKGQsICZwcmVlbXB0ZWQpOwpAQCAtOTU0 LDYgKzk1NSwyMiBAQCB2b2lkIHBhZ2luZ193cml0ZV9wMm1fZW50cnkoc3RydWN0IHAybV9kb21h aW4gKnAybSwgdW5zaWduZWQgbG9uZyBnZm4sCiAgICAgICAgIHNhZmVfd3JpdGVfcHRlKHAsIG5l dyk7CiB9CiAKK2ludCBwYWdpbmdfc2V0X2FsbG9jYXRpb24oc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgaW50IHBhZ2VzLCBib29sICpwcmVlbXB0ZWQpCit7CisgICAgaW50IHJjOworCisgICAg QVNTRVJUKHBhZ2luZ19tb2RlX2VuYWJsZWQoZCkpOworCisgICAgcGFnaW5nX2xvY2soZCk7Cisg ICAgaWYgKCBoYXBfZW5hYmxlZChkKSApCisgICAgICAgIHJjID0gaGFwX3NldF9hbGxvY2F0aW9u KGQsIHBhZ2VzLCBwcmVlbXB0ZWQpOworICAgIGVsc2UKKyAgICAgICAgcmMgPSBzaF9zZXRfYWxs b2NhdGlvbihkLCBwYWdlcywgcHJlZW1wdGVkKTsKKyAgICBwYWdpbmdfdW5sb2NrKGQpOworCisg ICAgcmV0dXJuIHJjOworfQorCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYyBiL3hlbi9hcmNoL3g4 Ni9tbS9zaGFkb3cvY29tbW9uLmMKaW5kZXggYjJlOTljMi4uNDkzMzY1MSAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYworKysgYi94ZW4vYXJjaC94ODYvbW0vc2hh ZG93L2NvbW1vbi5jCkBAIC0xNjA5LDEzICsxNjA5LDcgQEAgc2hhZG93X2ZyZWVfcDJtX3BhZ2Uo c3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHBhZ2VfaW5mbyAqcGcpCiAgICAgcGFnaW5nX3VubG9j ayhkKTsKIH0KIAotLyogU2V0IHRoZSBwb29sIG9mIHNoYWRvdyBwYWdlcyB0byB0aGUgcmVxdWly ZWQgbnVtYmVyIG9mIHBhZ2VzLgotICogSW5wdXQgd2lsbCBiZSByb3VuZGVkIHVwIHRvIGF0IGxl YXN0IHNoYWRvd19taW5fYWNjZXB0YWJsZV9wYWdlcygpLAotICogcGx1cyBzcGFjZSBmb3IgdGhl IHAybSB0YWJsZS4KLSAqIFJldHVybnMgMCBmb3Igc3VjY2Vzcywgbm9uLXplcm8gZm9yIGZhaWx1 cmUuICovCi1zdGF0aWMgaW50IHNoX3NldF9hbGxvY2F0aW9uKHN0cnVjdCBkb21haW4gKmQsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYWdlcywKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50ICpwcmVlbXB0ZWQpCitpbnQgc2hfc2V0X2FsbG9jYXRp b24oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHBhZ2VzLCBib29sICpwcmVlbXB0ZWQp CiB7CiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqc3A7CiAgICAgdW5zaWduZWQgaW50IGxvd2VyX2Jv dW5kOwpAQCAtMTY4Myw3ICsxNjc3LDcgQEAgc3RhdGljIGludCBzaF9zZXRfYWxsb2NhdGlvbihz dHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgIChpc19pZGxlX3ZjcHUoY3VycmVudCkgPyBz b2Z0aXJxX3BlbmRpbmcoc21wX3Byb2Nlc3Nvcl9pZCgpKSA6CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkpICkKICAgICAgICAg ewotICAgICAgICAgICAgKnByZWVtcHRlZCA9IDE7CisgICAgICAgICAgICAqcHJlZW1wdGVkID0g dHJ1ZTsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgfQpAQCAtMzIzOSw3 ICszMjMzLDcgQEAgaW50IHNoYWRvd19lbmFibGUoc3RydWN0IGRvbWFpbiAqZCwgdTMyIG1vZGUp CiAgICAgcmV0dXJuIHJ2OwogfQogCi12b2lkIHNoYWRvd190ZWFyZG93bihzdHJ1Y3QgZG9tYWlu ICpkLCBpbnQgKnByZWVtcHRlZCkKK3ZvaWQgc2hhZG93X3RlYXJkb3duKHN0cnVjdCBkb21haW4g KmQsIGJvb2wgKnByZWVtcHRlZCkKIC8qIERlc3Ryb3kgdGhlIHNoYWRvdyBwYWdldGFibGVzIG9m IHRoaXMgZG9tYWluIGFuZCBmcmVlIGl0cyBzaGFkb3cgbWVtb3J5LgogICogU2hvdWxkIG9ubHkg YmUgY2FsbGVkIGZvciBkeWluZyBkb21haW5zLiAqLwogewpAQCAtMzg3Niw3ICszODcwLDggQEAg aW50IHNoYWRvd19kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgIHhl bl9kb21jdGxfc2hhZG93X29wX3QgKnNjLAogICAgICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hB TkRMRV9QQVJBTSh2b2lkKSB1X2RvbWN0bCkKIHsKLSAgICBpbnQgcmMsIHByZWVtcHRlZCA9IDA7 CisgICAgaW50IHJjOworICAgIGJvb2wgcHJlZW1wdGVkID0gZmFsc2U7CiAKICAgICBzd2l0Y2gg KCBzYy0+b3AgKQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaGFwLmgg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2hhcC5oCmluZGV4IGM2MTM4MzYuLmRlZGI0YjEgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaGFwLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni9oYXAuaApAQCAtMzgsNyArMzgsNyBAQCBpbnQgICBoYXBfZG9tY3RsKHN0cnVjdCBkb21haW4g KmQsIHhlbl9kb21jdGxfc2hhZG93X29wX3QgKnNjLAogICAgICAgICAgICAgICAgICBYRU5fR1VF U1RfSEFORExFX1BBUkFNKHZvaWQpIHVfZG9tY3RsKTsKIGludCAgIGhhcF9lbmFibGUoc3RydWN0 IGRvbWFpbiAqZCwgdTMyIG1vZGUpOwogdm9pZCAgaGFwX2ZpbmFsX3RlYXJkb3duKHN0cnVjdCBk b21haW4gKmQpOwotdm9pZCAgaGFwX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQsIGludCAqcHJl ZW1wdGVkKTsKK3ZvaWQgIGhhcF90ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkLCBib29sICpwcmVl bXB0ZWQpOwogdm9pZCAgaGFwX3ZjcHVfaW5pdChzdHJ1Y3QgdmNwdSAqdik7CiBpbnQgICBoYXBf dHJhY2tfZGlydHlfdnJhbShzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBiZWdpbl9wZm4sCkBAIC00Niw3ICs0Niw3IEBAIGludCAgIGhh cF90cmFja19kaXJ0eV92cmFtKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBYRU5fR1VFU1RfSEFORExFXzY0KHVpbnQ4KSBkaXJ0eV9iaXRtYXApOwogCiBleHRl cm4gY29uc3Qgc3RydWN0IHBhZ2luZ19tb2RlICpoYXBfcGFnaW5nX2dldF9tb2RlKHN0cnVjdCB2 Y3B1ICopOwotdm9pZCBoYXBfc2V0X2FsbG9jX2Zvcl9wdmhfZG9tMChzdHJ1Y3QgZG9tYWluICpk LCB1bnNpZ25lZCBsb25nIG51bV9wYWdlcyk7CitpbnQgaGFwX3NldF9hbGxvY2F0aW9uKHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBwYWdlcywgYm9vbCAqcHJlZW1wdGVkKTsKIAogI2Vu ZGlmIC8qIFhFTl9IQVBfSCAqLwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3Bh Z2luZy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaAppbmRleCA1NmVlZjZiLi5mODNl ZDhiIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2luZy5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYvcGFnaW5nLmgKQEAgLTM0Nyw2ICszNDcsMTMgQEAgdm9pZCBwYWdldGFi bGVfZHlpbmcoc3RydWN0IGRvbWFpbiAqZCwgcGFkZHJfdCBncGEpOwogdm9pZCBwYWdpbmdfZHVt cF9kb21haW5faW5mbyhzdHJ1Y3QgZG9tYWluICpkKTsKIHZvaWQgcGFnaW5nX2R1bXBfdmNwdV9p bmZvKHN0cnVjdCB2Y3B1ICp2KTsKIAorLyogU2V0IHRoZSBwb29sIG9mIHNoYWRvdyBwYWdlcyB0 byB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIHBhZ2VzLgorICogSW5wdXQgbWlnaHQgYmUgcm91bmRl ZCB1cCB0byBhdCBtaW5pbXVtIGFtb3VudCBvZiBwYWdlcywgcGx1cworICogc3BhY2UgZm9yIHRo ZSBwMm0gdGFibGUuCisgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MsIG5vbi16ZXJvIGZvciBmYWls dXJlLiAqLworaW50IHBhZ2luZ19zZXRfYWxsb2NhdGlvbihzdHJ1Y3QgZG9tYWluICpkLCB1bnNp Z25lZCBpbnQgcGFnZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgKnByZWVtcHRl ZCk7CisKICNlbmRpZiAvKiBYRU5fUEFHSU5HX0ggKi8KIAogLyoKZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL2FzbS14ODYvc2hhZG93LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3NoYWRvdy5oCmlu ZGV4IDZkMGFlZmIuLjQ4MjJmODkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvc2hh ZG93LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9zaGFkb3cuaApAQCAtNzMsNyArNzMsNyBA QCBpbnQgc2hhZG93X2RvbWN0bChzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAg WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSB1X2RvbWN0bCk7CiAKIC8qIENhbGwgd2hlbiBk ZXN0cm95aW5nIGEgZG9tYWluICovCi12b2lkIHNoYWRvd190ZWFyZG93bihzdHJ1Y3QgZG9tYWlu ICpkLCBpbnQgKnByZWVtcHRlZCk7Cit2b2lkIHNoYWRvd190ZWFyZG93bihzdHJ1Y3QgZG9tYWlu ICpkLCBib29sICpwcmVlbXB0ZWQpOwogCiAvKiBDYWxsIG9uY2UgYWxsIG9mIHRoZSByZWZlcmVu Y2VzIHRvIHRoZSBkb21haW4gaGF2ZSBnb25lIGF3YXkgKi8KIHZvaWQgc2hhZG93X2ZpbmFsX3Rl YXJkb3duKHN0cnVjdCBkb21haW4gKmQpOwpAQCAtODMsNiArODMsMTIgQEAgdm9pZCBzaF9yZW1v dmVfc2hhZG93cyhzdHJ1Y3QgZG9tYWluICpkLCBtZm5fdCBnbWZuLCBpbnQgZmFzdCwgaW50IGFs bCk7CiAvKiBEaXNjYXJkIF9hbGxfIG1hcHBpbmdzIGZyb20gdGhlIGRvbWFpbidzIHNoYWRvd3Mu ICovCiB2b2lkIHNoYWRvd19ibG93X3RhYmxlc19wZXJfZG9tYWluKHN0cnVjdCBkb21haW4gKmQp OwogCisvKiBTZXQgdGhlIHBvb2wgb2Ygc2hhZG93IHBhZ2VzIHRvIHRoZSByZXF1aXJlZCBudW1i ZXIgb2YgcGFnZXMuCisgKiBJbnB1dCB3aWxsIGJlIHJvdW5kZWQgdXAgdG8gYXQgbGVhc3Qgc2hh ZG93X21pbl9hY2NlcHRhYmxlX3BhZ2VzKCksCisgKiBwbHVzIHNwYWNlIGZvciB0aGUgcDJtIHRh YmxlLgorICogUmV0dXJucyAwIGZvciBzdWNjZXNzLCBub24temVybyBmb3IgZmFpbHVyZS4gKi8K K2ludCBzaF9zZXRfYWxsb2NhdGlvbihzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgcGFn ZXMsIGJvb2wgKnByZWVtcHRlZCk7CisKICNlbHNlIC8qICFDT05GSUdfU0hBRE9XX1BBR0lORyAq LwogCiAjZGVmaW5lIHNoYWRvd190ZWFyZG93bihkLCBwKSBBU1NFUlQoaXNfcHZfZG9tYWluKGQp KQpAQCAtOTEsNiArOTcsOCBAQCB2b2lkIHNoYWRvd19ibG93X3RhYmxlc19wZXJfZG9tYWluKHN0 cnVjdCBkb21haW4gKmQpOwogICAgICh7IEFTU0VSVChpc19wdl9kb21haW4oZCkpOyAtRU9QTk9U U1VQUDsgfSkKICNkZWZpbmUgc2hhZG93X3RyYWNrX2RpcnR5X3ZyYW0oZCwgYmVnaW5fcGZuLCBu ciwgYml0bWFwKSBcCiAgICAgKHsgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7IC1FT1BOT1RTVVBQOyB9 KQorI2RlZmluZSBzaF9zZXRfYWxsb2NhdGlvbihkLCBwYWdlcywgcHJlZW1wdGVkKSBcCisgICAg KHsgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7IC1FT1BOT1RTVVBQOyB9KQogCiBzdGF0aWMgaW5saW5l IHZvaWQgc2hfcmVtb3ZlX3NoYWRvd3Moc3RydWN0IGRvbWFpbiAqZCwgbWZuX3QgZ21mbiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgZmFzdCwgYm9vbF90IGFs bCkge30KLS0gCjIuNy40IChBcHBsZSBHaXQtNjYpCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==