From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Rapoport Subject: [PATCH 21/21] memblock: drop memblock_alloc_*_nopanic() variants Date: Wed, 16 Jan 2019 15:44:21 +0200 Message-ID: <1547646261-32535-22-git-send-email-rppt__11368.5157070451$1547646369$gmane$org@linux.ibm.com> References: <1547646261-32535-1-git-send-email-rppt@linux.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gjlXS-0007w2-Dz for xen-devel@lists.xenproject.org; Wed, 16 Jan 2019 13:47:26 +0000 Received: from pps.filterd (m0098414.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id x0GDfRtS113382 for ; Wed, 16 Jan 2019 08:46:24 -0500 Received: from e06smtp04.uk.ibm.com (e06smtp04.uk.ibm.com [195.75.94.100]) by mx0b-001b2d01.pphosted.com with ESMTP id 2q23br76uj-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 16 Jan 2019 08:46:24 -0500 Received: from localhost by e06smtp04.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 16 Jan 2019 13:46:21 -0000 In-Reply-To: <1547646261-32535-1-git-send-email-rppt@linux.ibm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: linux-mm@kvack.org Cc: Rich Felker , linux-ia64@vger.kernel.org, devicetree@vger.kernel.org, Catalin Marinas , Heiko Carstens , x86@kernel.org, linux-mips@vger.kernel.org, Max Filippov , Guo Ren , sparclinux@vger.kernel.org, Christoph Hellwig , linux-s390@vger.kernel.org, linux-c6x-dev@linux-c6x.org, Yoshinori Sato , Richard Weinberger , linux-sh@vger.kernel.org, Russell King , kasan-dev@googlegroups.com, Mike Rapoport , Geert Uytterhoeven , Mark Salter , Dennis Zhou , Matt Turner , linux-snps-arc@lists.infradead.org, uclinux-h8-devel@lists.sourceforge.jp, Petr Mladek , linux-xtensa@linux-xten List-Id: xen-devel@lists.xenproject.org QXMgYWxsIHRoZSBtZW1ibG9jayBhbGxvY2F0aW9uIGZ1bmN0aW9ucyByZXR1cm4gTlVMTCBpbiBj YXNlIG9mIGVycm9yCnJhdGhlciB0aGFuIHBhbmljKCksIHRoZSBkdXBsaWNhdGVzIHdpdGggX25v cGFuaWMgc3VmZml4IGNhbiBiZSByZW1vdmVkLgoKU2lnbmVkLW9mZi1ieTogTWlrZSBSYXBvcG9y dCA8cnBwdEBsaW51eC5pYm0uY29tPgotLS0KIGFyY2gvYXJjL2tlcm5lbC91bndpbmQuYyAgICAg ICB8ICAzICstLQogYXJjaC9zaC9tbS9pbml0LmMgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gv eDg2L2tlcm5lbC9zZXR1cF9wZXJjcHUuYyB8IDEwICsrKysrLS0tLS0KIGFyY2gveDg2L21tL2th c2FuX2luaXRfNjQuYyAgICB8IDE0ICsrKysrKysrLS0tLS0tCiBkcml2ZXJzL2Zpcm13YXJlL21l bW1hcC5jICAgICAgfCAgMiArLQogZHJpdmVycy91c2IvZWFybHkveGhjaS1kYmMuYyAgIHwgIDIg Ky0KIGluY2x1ZGUvbGludXgvbWVtYmxvY2suaCAgICAgICB8IDM1IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiBrZXJuZWwvZG1hL3N3aW90bGIuYyAgICAgICAgICAgfCAgMiAr LQoga2VybmVsL3ByaW50ay9wcmludGsuYyAgICAgICAgIHwgMTcgKysrKysrKy0tLS0tLS0tLS0K IG1tL21lbWJsb2NrLmMgICAgICAgICAgICAgICAgICB8IDM1IC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiBtbS9wYWdlX2FsbG9jLmMgICAgICAgICAgICAgICAgfCAxMCArKysr Ky0tLS0tCiBtbS9wYWdlX2V4dC5jICAgICAgICAgICAgICAgICAgfCAgMiArLQogbW0vcGVyY3B1 LmMgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrKy0tLS0tLS0KIG1tL3NwYXJzZS5jICAgICAg ICAgICAgICAgICAgICB8ICA2ICsrLS0tLQogMTQgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9u cygrKSwgMTE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJjL2tlcm5lbC91bndp bmQuYyBiL2FyY2gvYXJjL2tlcm5lbC91bndpbmQuYwppbmRleCBkMzRmNjllLi4yNzFlOWZhIDEw MDY0NAotLS0gYS9hcmNoL2FyYy9rZXJuZWwvdW53aW5kLmMKKysrIGIvYXJjaC9hcmMva2VybmVs L3Vud2luZC5jCkBAIC0xODEsOCArMTgxLDcgQEAgc3RhdGljIHZvaWQgaW5pdF91bndpbmRfaGRy KHN0cnVjdCB1bndpbmRfdGFibGUgKnRhYmxlLAogICovCiBzdGF0aWMgdm9pZCAqX19pbml0IHVu d19oZHJfYWxsb2NfZWFybHkodW5zaWduZWQgbG9uZyBzeikKIHsKLQlyZXR1cm4gbWVtYmxvY2tf YWxsb2NfZnJvbV9ub3BhbmljKHN6LCBzaXplb2YodW5zaWduZWQgaW50KSwKLQkJCQkJICAgTUFY X0RNQV9BRERSRVNTKTsKKwlyZXR1cm4gbWVtYmxvY2tfYWxsb2NfZnJvbShzeiwgc2l6ZW9mKHVu c2lnbmVkIGludCksIE1BWF9ETUFfQUREUkVTUyk7CiB9CiAKIHN0YXRpYyB2b2lkICp1bndfaGRy X2FsbG9jKHVuc2lnbmVkIGxvbmcgc3opCmRpZmYgLS1naXQgYS9hcmNoL3NoL21tL2luaXQuYyBi L2FyY2gvc2gvbW0vaW5pdC5jCmluZGV4IGZjZWVmZDkuLjcwNjIxMzIgMTAwNjQ0Ci0tLSBhL2Fy Y2gvc2gvbW0vaW5pdC5jCisrKyBiL2FyY2gvc2gvbW0vaW5pdC5jCkBAIC0yMDIsNyArMjAyLDcg QEAgdm9pZCBfX2luaXQgYWxsb2NhdGVfcGdkYXQodW5zaWduZWQgaW50IG5pZCkKIAlnZXRfcGZu X3JhbmdlX2Zvcl9uaWQobmlkLCAmc3RhcnRfcGZuLCAmZW5kX3Bmbik7CiAKICNpZmRlZiBDT05G SUdfTkVFRF9NVUxUSVBMRV9OT0RFUwotCU5PREVfREFUQShuaWQpID0gbWVtYmxvY2tfYWxsb2Nf dHJ5X25pZF9ub3BhbmljKAorCU5PREVfREFUQShuaWQpID0gbWVtYmxvY2tfYWxsb2NfdHJ5X25p ZCgKIAkJCQlzaXplb2Yoc3RydWN0IHBnbGlzdF9kYXRhKSwKIAkJCQlTTVBfQ0FDSEVfQllURVMs IE1FTUJMT0NLX0xPV19MSU1JVCwKIAkJCQlNRU1CTE9DS19BTExPQ19BQ0NFU1NJQkxFLCBuaWQp OwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwX3BlcmNwdS5jIGIvYXJjaC94ODYv a2VybmVsL3NldHVwX3BlcmNwdS5jCmluZGV4IGU4Nzk2ZmMuLjBjNWU5YmYgMTAwNjQ0Ci0tLSBh L2FyY2gveDg2L2tlcm5lbC9zZXR1cF9wZXJjcHUuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0 dXBfcGVyY3B1LmMKQEAgLTEwNiwyMiArMTA2LDIyIEBAIHN0YXRpYyB2b2lkICogX19pbml0IHBj cHVfYWxsb2NfYm9vdG1lbSh1bnNpZ25lZCBpbnQgY3B1LCB1bnNpZ25lZCBsb25nIHNpemUsCiAJ dm9pZCAqcHRyOwogCiAJaWYgKCFub2RlX29ubGluZShub2RlKSB8fCAhTk9ERV9EQVRBKG5vZGUp KSB7Ci0JCXB0ciA9IG1lbWJsb2NrX2FsbG9jX2Zyb21fbm9wYW5pYyhzaXplLCBhbGlnbiwgZ29h bCk7CisJCXB0ciA9IG1lbWJsb2NrX2FsbG9jX2Zyb20oc2l6ZSwgYWxpZ24sIGdvYWwpOwogCQlw cl9pbmZvKCJjcHUgJWQgaGFzIG5vIG5vZGUgJWQgb3Igbm9kZS1sb2NhbCBtZW1vcnlcbiIsCiAJ CQljcHUsIG5vZGUpOwogCQlwcl9kZWJ1ZygicGVyIGNwdSBkYXRhIGZvciBjcHUlZCAlbHUgYnl0 ZXMgYXQgJTAxNmx4XG4iLAogCQkJIGNwdSwgc2l6ZSwgX19wYShwdHIpKTsKIAl9IGVsc2Ugewot CQlwdHIgPSBtZW1ibG9ja19hbGxvY190cnlfbmlkX25vcGFuaWMoc2l6ZSwgYWxpZ24sIGdvYWws Ci0JCQkJCQkgICAgIE1FTUJMT0NLX0FMTE9DX0FDQ0VTU0lCTEUsCi0JCQkJCQkgICAgIG5vZGUp OworCQlwdHIgPSBtZW1ibG9ja19hbGxvY190cnlfbmlkKHNpemUsIGFsaWduLCBnb2FsLAorCQkJ CQkgICAgIE1FTUJMT0NLX0FMTE9DX0FDQ0VTU0lCTEUsCisJCQkJCSAgICAgbm9kZSk7CiAKIAkJ cHJfZGVidWcoInBlciBjcHUgZGF0YSBmb3IgY3B1JWQgJWx1IGJ5dGVzIG9uIG5vZGUlZCBhdCAl MDE2bHhcbiIsCiAJCQkgY3B1LCBzaXplLCBub2RlLCBfX3BhKHB0cikpOwogCX0KIAlyZXR1cm4g cHRyOwogI2Vsc2UKLQlyZXR1cm4gbWVtYmxvY2tfYWxsb2NfZnJvbV9ub3BhbmljKHNpemUsIGFs aWduLCBnb2FsKTsKKwlyZXR1cm4gbWVtYmxvY2tfYWxsb2NfZnJvbShzaXplLCBhbGlnbiwgZ29h bCk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0va2FzYW5faW5pdF82NC5j IGIvYXJjaC94ODYvbW0va2FzYW5faW5pdF82NC5jCmluZGV4IDQ2MmZkZTguLjhkYzBmYzAgMTAw NjQ0Ci0tLSBhL2FyY2gveDg2L21tL2thc2FuX2luaXRfNjQuYworKysgYi9hcmNoL3g4Ni9tbS9r YXNhbl9pbml0XzY0LmMKQEAgLTI0LDE0ICsyNCwxNiBAQCBleHRlcm4gc3RydWN0IHJhbmdlIHBm bl9tYXBwZWRbRTgyMF9NQVhfRU5UUklFU107CiAKIHN0YXRpYyBwNGRfdCB0bXBfcDRkX3RhYmxl W01BWF9QVFJTX1BFUl9QNERdIF9faW5pdGRhdGEgX19hbGlnbmVkKFBBR0VfU0laRSk7CiAKLXN0 YXRpYyBfX2luaXQgdm9pZCAqZWFybHlfYWxsb2Moc2l6ZV90IHNpemUsIGludCBuaWQsIGJvb2wg cGFuaWMpCitzdGF0aWMgX19pbml0IHZvaWQgKmVhcmx5X2FsbG9jKHNpemVfdCBzaXplLCBpbnQg bmlkLCBib29sIHNob3VsZF9wYW5pYykKIHsKLQlpZiAocGFuaWMpCi0JCXJldHVybiBtZW1ibG9j a19hbGxvY190cnlfbmlkKHNpemUsIHNpemUsCi0JCQlfX3BhKE1BWF9ETUFfQUREUkVTUyksIE1F TUJMT0NLX0FMTE9DX0FDQ0VTU0lCTEUsIG5pZCk7Ci0JZWxzZQotCQlyZXR1cm4gbWVtYmxvY2tf YWxsb2NfdHJ5X25pZF9ub3BhbmljKHNpemUsIHNpemUsCisJdm9pZCAqcHRyID0gbWVtYmxvY2tf YWxsb2NfdHJ5X25pZChzaXplLCBzaXplLAogCQkJX19wYShNQVhfRE1BX0FERFJFU1MpLCBNRU1C TE9DS19BTExPQ19BQ0NFU1NJQkxFLCBuaWQpOworCisJaWYgKCFwdHIgJiYgc2hvdWxkX3Bhbmlj KQorCQlwYW5pYygiJXBTOiBGYWlsZWQgdG8gYWxsb2NhdGUgcGFnZSwgbmlkPSVkIGZyb209JWx4 XG4iLAorCQkgICAgICAodm9pZCAqKV9SRVRfSVBfLCBuaWQsIF9fcGEoTUFYX0RNQV9BRERSRVNT KSk7CisKKwlyZXR1cm4gcHRyOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQga2FzYW5fcG9wdWxh dGVfcG1kKHBtZF90ICpwbWQsIHVuc2lnbmVkIGxvbmcgYWRkciwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZmlybXdhcmUvbWVtbWFwLmMgYi9kcml2ZXJzL2Zpcm13YXJlL21lbW1hcC5jCmluZGV4IGVj NGZkMjUuLmQxNjhjODcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlybXdhcmUvbWVtbWFwLmMKKysr IGIvZHJpdmVycy9maXJtd2FyZS9tZW1tYXAuYwpAQCAtMzMzLDcgKzMzMyw3IEBAIGludCBfX2lu aXQgZmlybXdhcmVfbWFwX2FkZF9lYXJseSh1NjQgc3RhcnQsIHU2NCBlbmQsIGNvbnN0IGNoYXIg KnR5cGUpCiB7CiAJc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnk7CiAKLQllbnRyeSA9 IG1lbWJsb2NrX2FsbG9jX25vcGFuaWMoc2l6ZW9mKHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkp LAorCWVudHJ5ID0gbWVtYmxvY2tfYWxsb2Moc2l6ZW9mKHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50 cnkpLAogCQkJICAgICAgIFNNUF9DQUNIRV9CWVRFUyk7CiAJaWYgKFdBUk5fT04oIWVudHJ5KSkK IAkJcmV0dXJuIC1FTk9NRU07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9lYXJseS94aGNpLWRi Yy5jIGIvZHJpdmVycy91c2IvZWFybHkveGhjaS1kYmMuYwppbmRleCBkMjY1MmRjLi5jOWNmYjEw IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9lYXJseS94aGNpLWRiYy5jCisrKyBiL2RyaXZlcnMv dXNiL2Vhcmx5L3hoY2ktZGJjLmMKQEAgLTk0LDcgKzk0LDcgQEAgc3RhdGljIHZvaWQgKiBfX2lu aXQgeGRiY19nZXRfcGFnZShkbWFfYWRkcl90ICpkbWFfYWRkcikKIHsKIAl2b2lkICp2aXJ0Owog Ci0JdmlydCA9IG1lbWJsb2NrX2FsbG9jX25vcGFuaWMoUEFHRV9TSVpFLCBQQUdFX1NJWkUpOwor CXZpcnQgPSBtZW1ibG9ja19hbGxvYyhQQUdFX1NJWkUsIFBBR0VfU0laRSk7CiAJaWYgKCF2aXJ0 KQogCQlyZXR1cm4gTlVMTDsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tZW1ibG9jay5o IGIvaW5jbHVkZS9saW51eC9tZW1ibG9jay5oCmluZGV4IGY1YTgzYTEuLjcxYzllMzIgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvbGludXgvbWVtYmxvY2suaAorKysgYi9pbmNsdWRlL2xpbnV4L21lbWJs b2NrLmgKQEAgLTM3OSw5ICszNzksNiBAQCBzdGF0aWMgaW5saW5lIHBoeXNfYWRkcl90IG1lbWJs b2NrX3BoeXNfYWxsb2MocGh5c19hZGRyX3Qgc2l6ZSwKIHZvaWQgKm1lbWJsb2NrX2FsbG9jX3Ry eV9uaWRfcmF3KHBoeXNfYWRkcl90IHNpemUsIHBoeXNfYWRkcl90IGFsaWduLAogCQkJCSBwaHlz X2FkZHJfdCBtaW5fYWRkciwgcGh5c19hZGRyX3QgbWF4X2FkZHIsCiAJCQkJIGludCBuaWQpOwot dm9pZCAqbWVtYmxvY2tfYWxsb2NfdHJ5X25pZF9ub3BhbmljKHBoeXNfYWRkcl90IHNpemUsIHBo eXNfYWRkcl90IGFsaWduLAotCQkJCSAgICAgcGh5c19hZGRyX3QgbWluX2FkZHIsIHBoeXNfYWRk cl90IG1heF9hZGRyLAotCQkJCSAgICAgaW50IG5pZCk7CiB2b2lkICptZW1ibG9ja19hbGxvY190 cnlfbmlkKHBoeXNfYWRkcl90IHNpemUsIHBoeXNfYWRkcl90IGFsaWduLAogCQkJICAgICBwaHlz X2FkZHJfdCBtaW5fYWRkciwgcGh5c19hZGRyX3QgbWF4X2FkZHIsCiAJCQkgICAgIGludCBuaWQp OwpAQCAtNDA4LDM2ICs0MDUsMTIgQEAgc3RhdGljIGlubGluZSB2b2lkICogX19pbml0IG1lbWJs b2NrX2FsbG9jX2Zyb20ocGh5c19hZGRyX3Qgc2l6ZSwKIAkJCQkgICAgICBNRU1CTE9DS19BTExP Q19BQ0NFU1NJQkxFLCBOVU1BX05PX05PREUpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgKiBf X2luaXQgbWVtYmxvY2tfYWxsb2Nfbm9wYW5pYyhwaHlzX2FkZHJfdCBzaXplLAotCQkJCQkJICAg cGh5c19hZGRyX3QgYWxpZ24pCi17Ci0JcmV0dXJuIG1lbWJsb2NrX2FsbG9jX3RyeV9uaWRfbm9w YW5pYyhzaXplLCBhbGlnbiwgTUVNQkxPQ0tfTE9XX0xJTUlULAotCQkJCQkgICAgICBNRU1CTE9D S19BTExPQ19BQ0NFU1NJQkxFLAotCQkJCQkgICAgICBOVU1BX05PX05PREUpOwotfQotCiBzdGF0 aWMgaW5saW5lIHZvaWQgKiBfX2luaXQgbWVtYmxvY2tfYWxsb2NfbG93KHBoeXNfYWRkcl90IHNp emUsCiAJCQkJCSAgICAgICBwaHlzX2FkZHJfdCBhbGlnbikKIHsKIAlyZXR1cm4gbWVtYmxvY2tf YWxsb2NfdHJ5X25pZChzaXplLCBhbGlnbiwgTUVNQkxPQ0tfTE9XX0xJTUlULAogCQkJCSAgICAg IEFSQ0hfTE9XX0FERFJFU1NfTElNSVQsIE5VTUFfTk9fTk9ERSk7CiB9Ci1zdGF0aWMgaW5saW5l IHZvaWQgKiBfX2luaXQgbWVtYmxvY2tfYWxsb2NfbG93X25vcGFuaWMocGh5c19hZGRyX3Qgc2l6 ZSwKLQkJCQkJCSAgICAgICBwaHlzX2FkZHJfdCBhbGlnbikKLXsKLQlyZXR1cm4gbWVtYmxvY2tf YWxsb2NfdHJ5X25pZF9ub3BhbmljKHNpemUsIGFsaWduLCBNRU1CTE9DS19MT1dfTElNSVQsCi0J CQkJCSAgICAgIEFSQ0hfTE9XX0FERFJFU1NfTElNSVQsCi0JCQkJCSAgICAgIE5VTUFfTk9fTk9E RSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCAqIF9faW5pdCBtZW1ibG9ja19hbGxvY19mcm9t X25vcGFuaWMocGh5c19hZGRyX3Qgc2l6ZSwKLQkJCQkJCQlwaHlzX2FkZHJfdCBhbGlnbiwKLQkJ CQkJCQlwaHlzX2FkZHJfdCBtaW5fYWRkcikKLXsKLQlyZXR1cm4gbWVtYmxvY2tfYWxsb2NfdHJ5 X25pZF9ub3BhbmljKHNpemUsIGFsaWduLCBtaW5fYWRkciwKLQkJCQkJICAgICAgTUVNQkxPQ0tf QUxMT0NfQUNDRVNTSUJMRSwKLQkJCQkJICAgICAgTlVNQV9OT19OT0RFKTsKLX0KIAogc3RhdGlj IGlubGluZSB2b2lkICogX19pbml0IG1lbWJsb2NrX2FsbG9jX25vZGUocGh5c19hZGRyX3Qgc2l6 ZSwKIAkJCQkJCXBoeXNfYWRkcl90IGFsaWduLCBpbnQgbmlkKQpAQCAtNDQ2LDE0ICs0MTksNiBA QCBzdGF0aWMgaW5saW5lIHZvaWQgKiBfX2luaXQgbWVtYmxvY2tfYWxsb2Nfbm9kZShwaHlzX2Fk ZHJfdCBzaXplLAogCQkJCSAgICAgIE1FTUJMT0NLX0FMTE9DX0FDQ0VTU0lCTEUsIG5pZCk7CiB9 CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCAqIF9faW5pdCBtZW1ibG9ja19hbGxvY19ub2RlX25vcGFu aWMocGh5c19hZGRyX3Qgc2l6ZSwKLQkJCQkJCQlpbnQgbmlkKQotewotCXJldHVybiBtZW1ibG9j a19hbGxvY190cnlfbmlkX25vcGFuaWMoc2l6ZSwgU01QX0NBQ0hFX0JZVEVTLAotCQkJCQkgICAg ICBNRU1CTE9DS19MT1dfTElNSVQsCi0JCQkJCSAgICAgIE1FTUJMT0NLX0FMTE9DX0FDQ0VTU0lC TEUsIG5pZCk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgbWVtYmxvY2tfZnJlZV9l YXJseShwaHlzX2FkZHJfdCBiYXNlLAogCQkJCQkgICAgICBwaHlzX2FkZHJfdCBzaXplKQogewpk aWZmIC0tZ2l0IGEva2VybmVsL2RtYS9zd2lvdGxiLmMgYi9rZXJuZWwvZG1hL3N3aW90bGIuYwpp bmRleCBlNzg4MzVjOC4uNjU5ZmMyYTUgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9kbWEvc3dpb3RsYi5j CisrKyBiL2tlcm5lbC9kbWEvc3dpb3RsYi5jCkBAIC0yNDgsNyArMjQ4LDcgQEAgc3dpb3RsYl9p bml0KGludCB2ZXJib3NlKQogCWJ5dGVzID0gaW9fdGxiX25zbGFicyA8PCBJT19UTEJfU0hJRlQ7 CiAKIAkvKiBHZXQgSU8gVExCIG1lbW9yeSBmcm9tIHRoZSBsb3cgcGFnZXMgKi8KLQl2c3RhcnQg PSBtZW1ibG9ja19hbGxvY19sb3dfbm9wYW5pYyhQQUdFX0FMSUdOKGJ5dGVzKSwgUEFHRV9TSVpF KTsKKwl2c3RhcnQgPSBtZW1ibG9ja19hbGxvY19sb3coUEFHRV9BTElHTihieXRlcyksIFBBR0Vf U0laRSk7CiAJaWYgKHZzdGFydCAmJiAhc3dpb3RsYl9pbml0X3dpdGhfdGJsKHZzdGFydCwgaW9f dGxiX25zbGFicywgdmVyYm9zZSkpCiAJCXJldHVybjsKIApkaWZmIC0tZ2l0IGEva2VybmVsL3By aW50ay9wcmludGsuYyBiL2tlcm5lbC9wcmludGsvcHJpbnRrLmMKaW5kZXggYzRmMGE0MS4uYWU2 NTIyMSAxMDA2NDQKLS0tIGEva2VybmVsL3ByaW50ay9wcmludGsuYworKysgYi9rZXJuZWwvcHJp bnRrL3ByaW50ay5jCkBAIC0xMTQ3LDE3ICsxMTQ3LDE0IEBAIHZvaWQgX19pbml0IHNldHVwX2xv Z19idWYoaW50IGVhcmx5KQogCWlmICghbmV3X2xvZ19idWZfbGVuKQogCQlyZXR1cm47CiAKLQlp ZiAoZWFybHkpIHsKLQkJbmV3X2xvZ19idWYgPQotCQkJbWVtYmxvY2tfYWxsb2MobmV3X2xvZ19i dWZfbGVuLCBMT0dfQUxJR04pOwotCX0gZWxzZSB7Ci0JCW5ld19sb2dfYnVmID0gbWVtYmxvY2tf YWxsb2Nfbm9wYW5pYyhuZXdfbG9nX2J1Zl9sZW4sCi0JCQkJCQkJICBMT0dfQUxJR04pOwotCX0K LQorCW5ld19sb2dfYnVmID0gbWVtYmxvY2tfYWxsb2MobmV3X2xvZ19idWZfbGVuLCBMT0dfQUxJ R04pOwogCWlmICh1bmxpa2VseSghbmV3X2xvZ19idWYpKSB7Ci0JCXByX2VycigibG9nX2J1Zl9s ZW46ICVsdSBieXRlcyBub3QgYXZhaWxhYmxlXG4iLAotCQkJbmV3X2xvZ19idWZfbGVuKTsKKwkJ aWYgKGVhcmx5KQorCQkJcGFuaWMoImxvZ19idWZfbGVuOiAlbHUgYnl0ZXMgbm90IGF2YWlsYWJs ZVxuIiwKKwkJCQluZXdfbG9nX2J1Zl9sZW4pOworCQllbHNlCisJCQlwcl9lcnIoImxvZ19idWZf bGVuOiAlbHUgYnl0ZXMgbm90IGF2YWlsYWJsZVxuIiwKKwkJCSAgICAgICBuZXdfbG9nX2J1Zl9s ZW4pOwogCQlyZXR1cm47CiAJfQogCmRpZmYgLS1naXQgYS9tbS9tZW1ibG9jay5jIGIvbW0vbWVt YmxvY2suYwppbmRleCA3MTY0Mjc1Li41MjJhNDRlIDEwMDY0NAotLS0gYS9tbS9tZW1ibG9jay5j CisrKyBiL21tL21lbWJsb2NrLmMKQEAgLTE0OTEsNDEgKzE0OTEsNiBAQCB2b2lkICogX19pbml0 IG1lbWJsb2NrX2FsbG9jX3RyeV9uaWRfcmF3KAogfQogCiAvKioKLSAqIG1lbWJsb2NrX2FsbG9j X3RyeV9uaWRfbm9wYW5pYyAtIGFsbG9jYXRlIGJvb3QgbWVtb3J5IGJsb2NrCi0gKiBAc2l6ZTog c2l6ZSBvZiBtZW1vcnkgYmxvY2sgdG8gYmUgYWxsb2NhdGVkIGluIGJ5dGVzCi0gKiBAYWxpZ246 IGFsaWdubWVudCBvZiB0aGUgcmVnaW9uIGFuZCBibG9jaydzIHNpemUKLSAqIEBtaW5fYWRkcjog dGhlIGxvd2VyIGJvdW5kIG9mIHRoZSBtZW1vcnkgcmVnaW9uIGZyb20gd2hlcmUgdGhlIGFsbG9j YXRpb24KLSAqCSAgaXMgcHJlZmVycmVkIChwaHlzIGFkZHJlc3MpCi0gKiBAbWF4X2FkZHI6IHRo ZSB1cHBlciBib3VuZCBvZiB0aGUgbWVtb3J5IHJlZ2lvbiBmcm9tIHdoZXJlIHRoZSBhbGxvY2F0 aW9uCi0gKgkgICAgICBpcyBwcmVmZXJyZWQgKHBoeXMgYWRkcmVzcyksIG9yICVNRU1CTE9DS19B TExPQ19BQ0NFU1NJQkxFIHRvCi0gKgkgICAgICBhbGxvY2F0ZSBvbmx5IGZyb20gbWVtb3J5IGxp bWl0ZWQgYnkgbWVtYmxvY2suY3VycmVudF9saW1pdCB2YWx1ZQotICogQG5pZDogbmlkIG9mIHRo ZSBmcmVlIGFyZWEgdG8gZmluZCwgJU5VTUFfTk9fTk9ERSBmb3IgYW55IG5vZGUKLSAqCi0gKiBQ dWJsaWMgZnVuY3Rpb24sIHByb3ZpZGVzIGFkZGl0aW9uYWwgZGVidWcgaW5mb3JtYXRpb24gKGlu Y2x1ZGluZyBjYWxsZXIKLSAqIGluZm8pLCBpZiBlbmFibGVkLiBUaGlzIGZ1bmN0aW9uIHplcm9l cyB0aGUgYWxsb2NhdGVkIG1lbW9yeS4KLSAqCi0gKiBSZXR1cm46Ci0gKiBWaXJ0dWFsIGFkZHJl c3Mgb2YgYWxsb2NhdGVkIG1lbW9yeSBibG9jayBvbiBzdWNjZXNzLCBOVUxMIG9uIGZhaWx1cmUu Ci0gKi8KLXZvaWQgKiBfX2luaXQgbWVtYmxvY2tfYWxsb2NfdHJ5X25pZF9ub3BhbmljKAotCQkJ CXBoeXNfYWRkcl90IHNpemUsIHBoeXNfYWRkcl90IGFsaWduLAotCQkJCXBoeXNfYWRkcl90IG1p bl9hZGRyLCBwaHlzX2FkZHJfdCBtYXhfYWRkciwKLQkJCQlpbnQgbmlkKQotewotCXZvaWQgKnB0 cjsKLQotCW1lbWJsb2NrX2RiZygiJXM6ICVsbHUgYnl0ZXMgYWxpZ249MHglbGx4IG5pZD0lZCBm cm9tPSVwYSBtYXhfYWRkcj0lcGEgJXBGXG4iLAotCQkgICAgIF9fZnVuY19fLCAodTY0KXNpemUs ICh1NjQpYWxpZ24sIG5pZCwgJm1pbl9hZGRyLAotCQkgICAgICZtYXhfYWRkciwgKHZvaWQgKilf UkVUX0lQXyk7Ci0KLQlwdHIgPSBtZW1ibG9ja19hbGxvY19pbnRlcm5hbChzaXplLCBhbGlnbiwK LQkJCQkJICAgbWluX2FkZHIsIG1heF9hZGRyLCBuaWQpOwotCWlmIChwdHIpCi0JCW1lbXNldChw dHIsIDAsIHNpemUpOwotCXJldHVybiBwdHI7Ci19Ci0KLS8qKgogICogbWVtYmxvY2tfYWxsb2Nf dHJ5X25pZCAtIGFsbG9jYXRlIGJvb3QgbWVtb3J5IGJsb2NrCiAgKiBAc2l6ZTogc2l6ZSBvZiBt ZW1vcnkgYmxvY2sgdG8gYmUgYWxsb2NhdGVkIGluIGJ5dGVzCiAgKiBAYWxpZ246IGFsaWdubWVu dCBvZiB0aGUgcmVnaW9uIGFuZCBibG9jaydzIHNpemUKZGlmZiAtLWdpdCBhL21tL3BhZ2VfYWxs b2MuYyBiL21tL3BhZ2VfYWxsb2MuYwppbmRleCBkN2E1MjE5Li5jZDVjNTkzIDEwMDY0NAotLS0g YS9tbS9wYWdlX2FsbG9jLmMKKysrIGIvbW0vcGFnZV9hbGxvYy5jCkBAIC02NTU2LDggKzY1NTYs OCBAQCBzdGF0aWMgdm9pZCBfX3JlZiBzZXR1cF91c2VtYXAoc3RydWN0IHBnbGlzdF9kYXRhICpw Z2RhdCwKIAl6b25lLT5wYWdlYmxvY2tfZmxhZ3MgPSBOVUxMOwogCWlmICh1c2VtYXBzaXplKQog CQl6b25lLT5wYWdlYmxvY2tfZmxhZ3MgPQotCQkJbWVtYmxvY2tfYWxsb2Nfbm9kZV9ub3Bhbmlj KHVzZW1hcHNpemUsCi0JCQkJCQkJIHBnZGF0LT5ub2RlX2lkKTsKKwkJCW1lbWJsb2NrX2FsbG9j X25vZGUodXNlbWFwc2l6ZSwgU01QX0NBQ0hFX0JZVEVTLAorCQkJCQkgICAgcGdkYXQtPm5vZGVf aWQpOwogfQogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXR1cF91c2VtYXAoc3RydWN0IHBn bGlzdF9kYXRhICpwZ2RhdCwgc3RydWN0IHpvbmUgKnpvbmUsCkBAIC02Nzg2LDcgKzY3ODYsOCBA QCBzdGF0aWMgdm9pZCBfX3JlZiBhbGxvY19ub2RlX21lbV9tYXAoc3RydWN0IHBnbGlzdF9kYXRh ICpwZ2RhdCkKIAkJZW5kID0gcGdkYXRfZW5kX3BmbihwZ2RhdCk7CiAJCWVuZCA9IEFMSUdOKGVu ZCwgTUFYX09SREVSX05SX1BBR0VTKTsKIAkJc2l6ZSA9ICAoZW5kIC0gc3RhcnQpICogc2l6ZW9m KHN0cnVjdCBwYWdlKTsKLQkJbWFwID0gbWVtYmxvY2tfYWxsb2Nfbm9kZV9ub3BhbmljKHNpemUs IHBnZGF0LT5ub2RlX2lkKTsKKwkJbWFwID0gbWVtYmxvY2tfYWxsb2Nfbm9kZShzaXplLCBTTVBf Q0FDSEVfQllURVMsCisJCQkJCSAgcGdkYXQtPm5vZGVfaWQpOwogCQlwZ2RhdC0+bm9kZV9tZW1f bWFwID0gbWFwICsgb2Zmc2V0OwogCX0KIAlwcl9kZWJ1ZygiJXM6IG5vZGUgJWQsIHBnZGF0ICUw OGx4LCBub2RlX21lbV9tYXAgJTA4bHhcbiIsCkBAIC04MDY0LDggKzgwNjUsNyBAQCB2b2lkICpf X2luaXQgYWxsb2NfbGFyZ2Vfc3lzdGVtX2hhc2goY29uc3QgY2hhciAqdGFibGVuYW1lLAogCQlz aXplID0gYnVja2V0c2l6ZSA8PCBsb2cycXR5OwogCQlpZiAoZmxhZ3MgJiBIQVNIX0VBUkxZKSB7 CiAJCQlpZiAoZmxhZ3MgJiBIQVNIX1pFUk8pCi0JCQkJdGFibGUgPSBtZW1ibG9ja19hbGxvY19u b3BhbmljKHNpemUsCi0JCQkJCQkJICAgICAgIFNNUF9DQUNIRV9CWVRFUyk7CisJCQkJdGFibGUg PSBtZW1ibG9ja19hbGxvYyhzaXplLCBTTVBfQ0FDSEVfQllURVMpOwogCQkJZWxzZQogCQkJCXRh YmxlID0gbWVtYmxvY2tfYWxsb2NfcmF3KHNpemUsCiAJCQkJCQkJICAgU01QX0NBQ0hFX0JZVEVT KTsKZGlmZiAtLWdpdCBhL21tL3BhZ2VfZXh0LmMgYi9tbS9wYWdlX2V4dC5jCmluZGV4IDBjZmFh MDYuLmEzZGIxMDkgMTAwNjQ0Ci0tLSBhL21tL3BhZ2VfZXh0LmMKKysrIGIvbW0vcGFnZV9leHQu YwpAQCAtMTYxLDcgKzE2MSw3IEBAIHN0YXRpYyBpbnQgX19pbml0IGFsbG9jX25vZGVfcGFnZV9l eHQoaW50IG5pZCkKIAogCXRhYmxlX3NpemUgPSBnZXRfZW50cnlfc2l6ZSgpICogbnJfcGFnZXM7 CiAKLQliYXNlID0gbWVtYmxvY2tfYWxsb2NfdHJ5X25pZF9ub3BhbmljKAorCWJhc2UgPSBtZW1i bG9ja19hbGxvY190cnlfbmlkKAogCQkJdGFibGVfc2l6ZSwgUEFHRV9TSVpFLCBfX3BhKE1BWF9E TUFfQUREUkVTUyksCiAJCQlNRU1CTE9DS19BTExPQ19BQ0NFU1NJQkxFLCBuaWQpOwogCWlmICgh YmFzZSkKZGlmZiAtLWdpdCBhL21tL3BlcmNwdS5jIGIvbW0vcGVyY3B1LmMKaW5kZXggNTk5OGIw My4uZTMwMmI4MSAxMDA2NDQKLS0tIGEvbW0vcGVyY3B1LmMKKysrIGIvbW0vcGVyY3B1LmMKQEAg LTE5MDUsNyArMTkwNSw3IEBAIHN0cnVjdCBwY3B1X2FsbG9jX2luZm8gKiBfX2luaXQgcGNwdV9h bGxvY19hbGxvY19pbmZvKGludCBucl9ncm91cHMsCiAJCQkgIF9fYWxpZ25vZl9fKGFpLT5ncm91 cHNbMF0uY3B1X21hcFswXSkpOwogCWFpX3NpemUgPSBiYXNlX3NpemUgKyBucl91bml0cyAqIHNp emVvZihhaS0+Z3JvdXBzWzBdLmNwdV9tYXBbMF0pOwogCi0JcHRyID0gbWVtYmxvY2tfYWxsb2Nf bm9wYW5pYyhQRk5fQUxJR04oYWlfc2l6ZSksIFBBR0VfU0laRSk7CisJcHRyID0gbWVtYmxvY2tf YWxsb2MoUEZOX0FMSUdOKGFpX3NpemUpLCBQQUdFX1NJWkUpOwogCWlmICghcHRyKQogCQlyZXR1 cm4gTlVMTDsKIAlhaSA9IHB0cjsKQEAgLTI0OTYsNyArMjQ5Niw3IEBAIGludCBfX2luaXQgcGNw dV9lbWJlZF9maXJzdF9jaHVuayhzaXplX3QgcmVzZXJ2ZWRfc2l6ZSwgc2l6ZV90IGR5bl9zaXpl LAogCXNpemVfc3VtID0gYWktPnN0YXRpY19zaXplICsgYWktPnJlc2VydmVkX3NpemUgKyBhaS0+ ZHluX3NpemU7CiAJYXJlYXNfc2l6ZSA9IFBGTl9BTElHTihhaS0+bnJfZ3JvdXBzICogc2l6ZW9m KHZvaWQgKikpOwogCi0JYXJlYXMgPSBtZW1ibG9ja19hbGxvY19ub3BhbmljKGFyZWFzX3NpemUs IFNNUF9DQUNIRV9CWVRFUyk7CisJYXJlYXMgPSBtZW1ibG9ja19hbGxvYyhhcmVhc19zaXplLCBT TVBfQ0FDSEVfQllURVMpOwogCWlmICghYXJlYXMpIHsKIAkJcmMgPSAtRU5PTUVNOwogCQlnb3Rv IG91dF9mcmVlOwpAQCAtMjcyOSw4ICsyNzI5LDcgQEAgRVhQT1JUX1NZTUJPTChfX3Blcl9jcHVf b2Zmc2V0KTsKIHN0YXRpYyB2b2lkICogX19pbml0IHBjcHVfZGZsX2ZjX2FsbG9jKHVuc2lnbmVk IGludCBjcHUsIHNpemVfdCBzaXplLAogCQkJCSAgICAgICBzaXplX3QgYWxpZ24pCiB7Ci0JcmV0 dXJuICBtZW1ibG9ja19hbGxvY19mcm9tX25vcGFuaWMoCi0JCQlzaXplLCBhbGlnbiwgX19wYShN QVhfRE1BX0FERFJFU1MpKTsKKwlyZXR1cm4gIG1lbWJsb2NrX2FsbG9jX2Zyb20oc2l6ZSwgYWxp Z24sIF9fcGEoTUFYX0RNQV9BRERSRVNTKSk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBwY3B1 X2RmbF9mY19mcmVlKHZvaWQgKnB0ciwgc2l6ZV90IHNpemUpCkBAIC0yNzc4LDkgKzI3NzcsNyBA QCB2b2lkIF9faW5pdCBzZXR1cF9wZXJfY3B1X2FyZWFzKHZvaWQpCiAJdm9pZCAqZmM7CiAKIAlh aSA9IHBjcHVfYWxsb2NfYWxsb2NfaW5mbygxLCAxKTsKLQlmYyA9IG1lbWJsb2NrX2FsbG9jX2Zy b21fbm9wYW5pYyh1bml0X3NpemUsCi0JCQkJCSAgICAgIFBBR0VfU0laRSwKLQkJCQkJICAgICAg X19wYShNQVhfRE1BX0FERFJFU1MpKTsKKwlmYyA9IG1lbWJsb2NrX2FsbG9jX2Zyb20odW5pdF9z aXplLCBQQUdFX1NJWkUsIF9fcGEoTUFYX0RNQV9BRERSRVNTKSk7CiAJaWYgKCFhaSB8fCAhZmMp CiAJCXBhbmljKCJGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBwZXJjcHUgYXJlYXMuIik7 CiAJLyoga21lbWxlYWsgdHJhY2tzIHRoZSBwZXJjcHUgYWxsb2NhdGlvbnMgc2VwYXJhdGVseSAq LwpkaWZmIC0tZ2l0IGEvbW0vc3BhcnNlLmMgYi9tbS9zcGFyc2UuYwppbmRleCBhZDk0MjQyLi4x NDcxZjA2IDEwMDY0NAotLS0gYS9tbS9zcGFyc2UuYworKysgYi9tbS9zcGFyc2UuYwpAQCAtMzMw LDkgKzMzMCw3IEBAIHNwYXJzZV9lYXJseV91c2VtYXBzX2FsbG9jX3BnZGF0X3NlY3Rpb24oc3Ry dWN0IHBnbGlzdF9kYXRhICpwZ2RhdCwKIAlsaW1pdCA9IGdvYWwgKyAoMVVMIDw8IFBBX1NFQ1RJ T05fU0hJRlQpOwogCW5pZCA9IGVhcmx5X3Bmbl90b19uaWQoZ29hbCA+PiBQQUdFX1NISUZUKTsK IGFnYWluOgotCXAgPSBtZW1ibG9ja19hbGxvY190cnlfbmlkX25vcGFuaWMoc2l6ZSwKLQkJCQkJ CVNNUF9DQUNIRV9CWVRFUywgZ29hbCwgbGltaXQsCi0JCQkJCQluaWQpOworCXAgPSBtZW1ibG9j a19hbGxvY190cnlfbmlkKHNpemUsIFNNUF9DQUNIRV9CWVRFUywgZ29hbCwgbGltaXQsIG5pZCk7 CiAJaWYgKCFwICYmIGxpbWl0KSB7CiAJCWxpbWl0ID0gMDsKIAkJZ290byBhZ2FpbjsKQEAgLTM4 Niw3ICszODQsNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyAqIF9faW5pdAogc3BhcnNlX2Vhcmx5 X3VzZW1hcHNfYWxsb2NfcGdkYXRfc2VjdGlvbihzdHJ1Y3QgcGdsaXN0X2RhdGEgKnBnZGF0LAog CQkJCQkgdW5zaWduZWQgbG9uZyBzaXplKQogewotCXJldHVybiBtZW1ibG9ja19hbGxvY19ub2Rl X25vcGFuaWMoc2l6ZSwgcGdkYXQtPm5vZGVfaWQpOworCXJldHVybiBtZW1ibG9ja19hbGxvY19u b2RlKHNpemUsIFNNUF9DQUNIRV9CWVRFUywgcGdkYXQtPm5vZGVfaWQpOwogfQogCiBzdGF0aWMg dm9pZCBfX2luaXQgY2hlY2tfdXNlbWFwX3NlY3Rpb25fbnIoaW50IG5pZCwgdW5zaWduZWQgbG9u ZyAqdXNlbWFwKQotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5w cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v eGVuLWRldmVs