From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1azpQU-00020u-3K for mharc-grub-devel@gnu.org; Mon, 09 May 2016 13:57:02 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45616) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1azpQO-0001oe-Mw for grub-devel@gnu.org; Mon, 09 May 2016 13:56:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1azpQJ-0006YW-Hr for grub-devel@gnu.org; Mon, 09 May 2016 13:56:56 -0400 Received: from smtpgw.dds.nl ([91.142.252.201]:53701 helo=smtp1.dds.nl) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1azpQI-0006XW-AI for grub-devel@gnu.org; Mon, 09 May 2016 13:56:51 -0400 Received: from webmail.dds.nl (app1.dds.nl [81.21.136.61]) by smtp1.dds.nl (Postfix) with ESMTP id 9DD5C7F922 for ; Mon, 9 May 2016 19:56:46 +0200 (CEST) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_210090102903ddfafaaeeef6947ad3b1" Date: Mon, 09 May 2016 19:56:46 +0200 From: Dryden Personalis To: The development of GNU GRUB Subject: Re: [PATCH] Install to LVM PVs In-Reply-To: References: <572ED720.30800@gmail.com> <57302925.2000000@gmail.com> <74e43e3a3555eec41667a2c3e326c8af@dds.nl> Message-ID: X-Sender: list@xenhideout.nl User-Agent: Roundcube Webmail/1.1.5 X-Virus-Scanned: clamav-milter 0.99.1 at smtp1 X-Virus-Status: Clean X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 91.142.252.201 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 May 2016 17:56:59 -0000 --=_210090102903ddfafaaeeef6947ad3b1 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Attached my current working patch. Also attached some housekeeping. Not sure if it applies to current git version. Take from it what you like. --=_210090102903ddfafaaeeef6947ad3b1 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=grub-install-to-partitionless-lvm-pv_2.02~beta2_v3.patch Content-Disposition: attachment; filename=grub-install-to-partitionless-lvm-pv_2.02~beta2_v3.patch; size=12369 ZGlmZiAtLWdpdCBhL2dydWItY29yZS9kaXNrL2x2bS5jIGIvZ3J1Yi1jb3JlL2Rpc2svbHZtLmMK aW5kZXggMjJjN2I2NC4uMzdlNzE1YSAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2Rpc2svbHZtLmMK KysrIGIvZ3J1Yi1jb3JlL2Rpc2svbHZtLmMKQEAgLTk1LDYgKzk1LDc4IEBAIGdydWJfbHZtX2No ZWNrX2ZsYWcgKGNoYXIgKnAsIGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZmxhZykKICAg ICB9CiB9CiAKKy8qKgorICogQXR0cmlidXRlIGZ1bmN0aW9uIG9idGFpbmluZyBQViBoZWFkZXIg ZnJvbSBkaXNrLiBDdXJyZW50bHkgc2NhbnMgdGhlCisgKiBmaXJzdCA0IHNlY3RvcnMgYW5kIHJl dHVybnMgYW55dGhpbmcgZm91bmQgaW4gZWl0aGVyIG9mIHRob3NlIHNlY3RvcnMuCisgKgorICog U2V0cyAqZmlyc3Rfc2VjdG9yIHRvIDEgaWYgaGVhZGVyIHdhcyBpbiBmaXJzdCBzZWN0b3IsIDAg b3RoZXJ3aXNlLgorICogTWF5IHByaW50IGZpcnN0X3NlY3RvciBpbmZvIG1lc3NhZ2UgaWYgdmVy Ym9zZSB3YXMgc2V0LgorICoKKyAqIFJldHVybnMgaGVhZGVyIGlmIGZvdW5kLCBOVUxMIG90aGVy d2lzZS4gQWxzbyByZXR1cm5zIGhlYWRlciBpZiBmaXJzdF9zZWN0b3IuCisgKi8KK3N0YXRpYyBz dHJ1Y3QgZ3J1Yl9sdm1fcHZfaGVhZGVyICoKK2dydWJfbHZtX2dldF9wdmhfYXQoZ3J1Yl9kaXNr X3QgZGlzaywgY2hhciBidWZbc3RhdGljIEdSVUJfTFZNX0xBQkVMX1NJWkVdLCAKKyNpZmRlZiBH UlVCX1VUSUwKKyAgICBpbnQgKmZpcnN0X3NlY3RvciwgaW50IHZlcmJvc2UKKyNlbHNlCisgICAg aW50ICpmaXJzdF9zZWN0b3IKKyNlbmRpZgorICApCisKK3sKKyAgc3RydWN0IGdydWJfbHZtX2xh YmVsX2hlYWRlciAqbGggPSAoc3RydWN0IGdydWJfbHZtX2xhYmVsX2hlYWRlciAqKSBidWY7Cisg IHVuc2lnbmVkIGludCBpOworCisgIC8qIFNlYXJjaCBmb3IgbGFiZWwuICovCisgIGZvciAoaSA9 IDA7IGkgPCBHUlVCX0xWTV9MQUJFTF9TQ0FOX1NFQ1RPUlM7IGkrKykKKyAgICB7CisgICAgICBp ZiAoZ3J1Yl9kaXNrX3JlYWQgKGRpc2ssIGksIDAsIEdSVUJfTFZNX0xBQkVMX1NJWkUsIGJ1Zikp CisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICBpZiAoKCEgZ3J1Yl9zdHJuY21wICgoY2hh ciAqKWxoLT5pZCwgR1JVQl9MVk1fTEFCRUxfSUQsCisgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVvZiAobGgtPmlkKSkpCisgICAgICAgICAmJiAoISBncnViX3N0cm5jbXAgKChjaGFyICop bGgtPnR5cGUsIEdSVUJfTFZNX0xWTTJfTEFCRUwsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNpemVvZiAobGgtPnR5cGUpKSkpCisgICAgICAgYnJlYWs7CisgICAgfQorCisjaWZkZWYg R1JVQl9VVElMCisgIGlmIChmaXJzdF9zZWN0b3IpICpmaXJzdF9zZWN0b3IgPSAwOworI2VuZGlm CisKKyAgLyogUmV0dXJuIGlmIHdlIGRpZG4ndCBmaW5kIGEgbGFiZWwuICovCisgIGlmIChpID09 IEdSVUJfTFZNX0xBQkVMX1NDQU5fU0VDVE9SUykKKyAgICB7CisjaWZkZWYgR1JVQl9VVElMCisg ICAgICBncnViX3V0aWxfaW5mbyAoIm5vIExWTSBzaWduYXR1cmUgZm91bmQiKTsKKyNlbmRpZgor ICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICBlbHNlIGlmIChpID09IDApCisgICAgeworI2lm ZGVmIEdSVUJfVVRJTAorICAgICAgaWYgKHZlcmJvc2UpIGdydWJfdXRpbF9pbmZvICgiTFZNIHNp Z25hdHVyZSBpbiBmaXJzdCBzZWN0b3IiKTsKKyNlbmRpZgorICAgICAgaWYgKGZpcnN0X3NlY3Rv cikgKmZpcnN0X3NlY3RvciA9IDE7CisgICAgfQorCisgIHJldHVybiAoc3RydWN0IGdydWJfbHZt X3B2X2hlYWRlciAqKSAoYnVmICsgZ3J1Yl9sZV90b19jcHUzMihsaC0+b2Zmc2V0X3hsKSk7Cit9 CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGdydWJfbHZtX3B2X2hlYWRlciAqZ3J1Yl9sdm1fZ2V0 X3B2aChncnViX2Rpc2tfdCBkaXNrLCBjaGFyIGJ1ZltzdGF0aWMgR1JVQl9MVk1fTEFCRUxfU0la RV0pIAoreworI2lmZGVmIEdSVUJfVVRJTAorICByZXR1cm4gZ3J1Yl9sdm1fZ2V0X3B2aF9hdChk aXNrLCBidWYsIE5VTEwsIDApOworI2Vsc2UKKyAgcmV0dXJuIGdydWJfbHZtX2dldF9wdmhfYXQo ZGlzaywgYnVmLCBOVUxMKTsKKyNlbmRpZgorfQorCisvKioKKyAqIFByZWV4aXN0aW5nIGZ1bmN0 aW9uIHRoYXQgZGV0ZWN0cyB0aGUgTFZNIFBWIGhlYWRlciBmcm9tIGRpc2sgYW5kIHByb2NlZWRz CisgKiB0byBmaWxsIGluIFZHIGRhdGFzdHJ1Y3R1cmVzLiBDYWxsZWQgZnJvbSBkaXNrZmlsdGVy IGFzIHBhcnQgb2YgdGhlCisgKiAiZHJpdmVyLT5kZXRlY3QiIGZ1bmN0aW9uYWxpdHkuCisgKi8K IHN0YXRpYyBzdHJ1Y3QgZ3J1Yl9kaXNrZmlsdGVyX3ZnICogCiBncnViX2x2bV9kZXRlY3QgKGdy dWJfZGlza190IGRpc2ssCiAJCSBzdHJ1Y3QgZ3J1Yl9kaXNrZmlsdGVyX3B2X2lkICppZCwKQEAg LTEwNiw3ICsxNzgsNiBAQCBncnViX2x2bV9kZXRlY3QgKGdydWJfZGlza190IGRpc2ssCiAgIGNo YXIgdmdfaWRbR1JVQl9MVk1fSURfU1RSTEVOKzFdOwogICBjaGFyIHB2X2lkW0dSVUJfTFZNX0lE X1NUUkxFTisxXTsKICAgY2hhciAqbWV0YWRhdGFidWYsICpwLCAqcSwgKnZnbmFtZTsKLSAgc3Ry dWN0IGdydWJfbHZtX2xhYmVsX2hlYWRlciAqbGggPSAoc3RydWN0IGdydWJfbHZtX2xhYmVsX2hl YWRlciAqKSBidWY7CiAgIHN0cnVjdCBncnViX2x2bV9wdl9oZWFkZXIgKnB2aDsKICAgc3RydWN0 IGdydWJfbHZtX2Rpc2tfbG9jbiAqZGxvY247CiAgIHN0cnVjdCBncnViX2x2bV9tZGFfaGVhZGVy ICptZGFoOwpAQCAtMTE2LDMwICsxODcsOSBAQCBncnViX2x2bV9kZXRlY3QgKGdydWJfZGlza190 IGRpc2ssCiAgIHN0cnVjdCBncnViX2Rpc2tmaWx0ZXJfdmcgKnZnOwogICBzdHJ1Y3QgZ3J1Yl9k aXNrZmlsdGVyX3B2ICpwdjsKIAotICAvKiBTZWFyY2ggZm9yIGxhYmVsLiAqLwotICBmb3IgKGkg PSAwOyBpIDwgR1JVQl9MVk1fTEFCRUxfU0NBTl9TRUNUT1JTOyBpKyspCi0gICAgewotICAgICAg ZXJyID0gZ3J1Yl9kaXNrX3JlYWQgKGRpc2ssIGksIDAsIHNpemVvZihidWYpLCBidWYpOwotICAg ICAgaWYgKGVycikKLQlnb3RvIGZhaWw7Ci0KLSAgICAgIGlmICgoISBncnViX3N0cm5jbXAgKChj aGFyICopbGgtPmlkLCBHUlVCX0xWTV9MQUJFTF9JRCwKLQkJCSAgIHNpemVvZiAobGgtPmlkKSkp Ci0JICAmJiAoISBncnViX3N0cm5jbXAgKChjaGFyICopbGgtPnR5cGUsIEdSVUJfTFZNX0xWTTJf TEFCRUwsCi0JCQkgICAgICBzaXplb2YgKGxoLT50eXBlKSkpKQotCWJyZWFrOwotICAgIH0KLQot ICAvKiBSZXR1cm4gaWYgd2UgZGlkbid0IGZpbmQgYSBsYWJlbC4gKi8KLSAgaWYgKGkgPT0gR1JV Ql9MVk1fTEFCRUxfU0NBTl9TRUNUT1JTKQotICAgIHsKLSNpZmRlZiBHUlVCX1VUSUwKLSAgICAg IGdydWJfdXRpbF9pbmZvICgibm8gTFZNIHNpZ25hdHVyZSBmb3VuZCIpOwotI2VuZGlmCi0gICAg ICBnb3RvIGZhaWw7Ci0gICAgfQotCi0gIHB2aCA9IChzdHJ1Y3QgZ3J1Yl9sdm1fcHZfaGVhZGVy ICopIChidWYgKyBncnViX2xlX3RvX2NwdTMyKGxoLT5vZmZzZXRfeGwpKTsKKyAgcHZoID0gZ3J1 Yl9sdm1fZ2V0X3B2aChkaXNrLCBidWYpOworICBpZiAoIXB2aCkKKyAgICBnb3RvIGZhaWw7CiAK ICAgZm9yIChpID0gMCwgaiA9IDA7IGkgPCBHUlVCX0xWTV9JRF9MRU47IGkrKykKICAgICB7CkBA IC03NzAsNiArODIwLDExMiBAQCBncnViX2x2bV9kZXRlY3QgKGdydWJfZGlza190IGRpc2ssCiAg IHJldHVybiBOVUxMOwogfQogCisjaWZkZWYgR1JVQl9VVElMCisvKioKKyAqIFJlcXVlc3RzIHBo eXNpY2FsIHZvbHVtZSBmcm9tIGRpc2sgYW5kIGNoZWNrcyB3aGV0aGVyIHJlbGF0aW9ucyBob2xk IHVwPworICoKKyAqIFRoaXMgZnVuY3Rpb24gb25seSByZXR1cm5zIHRydWUgaWZmIGEgdm9sdW1l IGdyb3VwIHdhcyBmb3VuZAorICovCitpbnQgZ3J1Yl91dGlsX2hhc19sdm1fdmcgKGdydWJfZGlz a190IGRpc2spCit7CisgIHN0cnVjdCBncnViX2Rpc2tmaWx0ZXJfcHYgKnB2ID0gTlVMTDsKKyAg c3RydWN0IGdydWJfZGlza2ZpbHRlcl92ZyAqdmcgPSBOVUxMOworCisgIHB2ID0gZ3J1Yl9kaXNr ZmlsdGVyX2dldF9wdl9mcm9tX2Rpc2soZGlzaywgJnZnKTsKKyAgcmV0dXJuIHB2ICYmIHZnICYm IHZnID09IHZnLT5kcml2ZXItPmRldGVjdChkaXNrLCAmcHYtPmlkLCAmcHYtPnN0YXJ0X3NlY3Rv cikKKyAgICAgICAgID8gMSA6IDA7Cit9CisKKy8qKgorICogRG9lcyBub3RoaW5nIG90aGVyIHRo YW4gc2Nhbm5pbmcgdGhlIGZpcnN0IDQgc2VjdG9ycyBvZiB0aGUgZGV2aWNlIGZvcgorICogYSBM Vk0gUFYgaGVhZGVyCisgKi8KK2ludCBncnViX3V0aWxfaXNfbHZtIChncnViX2Rpc2tfdCBkaXNr KQoreworICBjaGFyIGJ1ZltHUlVCX0xWTV9MQUJFTF9TSVpFXTsKKyAgcmV0dXJuIGdydWJfbHZt X2dldF9wdmgoZGlzaywgYnVmKSA/IDEgOiAwOworfQorCisvKioKKyAqIFRoaXMgZnVuY3Rpb24g ZW1iZWRzIHRoZSBib290bG9hZGVyIGluc2lkZSBhbiBMVk0gUFYgYm9vdGxvYWRlcmFyZWEKKyAq IHNwZWNpZmllZCBieSAtLWJvb3Rsb2FkZXJhcmVhc2l6ZSBvbiB0aGUgcHZjcmVhdGUgY29tbWFu ZCBsaW5lLgorICoKKyAqIEl0IGlzIGNhbGxlZCBmcm9tIHNldHVwLmMgYW5kIHJldHVybnMgYW4g ZXJyb3IgbWVzc2FnZSB0byB0aGUgY2FsbGVyLAorICogdGhhdCBnZXRzIHRyZWF0ZWQgYXMgYSB3 YXJuaW5nLCBpZiBpdCBmYWlscy4KKyovCisKK2dydWJfZXJyX3QKK2dydWJfdXRpbF9sdm1fZW1i ZWQgKHN0cnVjdCBncnViX2Rpc2sgKmRpc2ssIHVuc2lnbmVkIGludCAqbnNlY3RvcnMsCisgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtYXhfbnNlY3RvcnMsCisgICAgICAgICAgICAg ICAgICAgIGdydWJfZW1iZWRfdHlwZV90IGVtYmVkX3R5cGUsCisgICAgICAgICAgICAgICAgICAg IGdydWJfZGlza19hZGRyX3QgKipzZWN0b3JzKQoreworICBjaGFyIGJ1ZltHUlVCX0xWTV9MQUJF TF9TSVpFXTsKKyAgc3RydWN0IGdydWJfbHZtX3B2X2hlYWRlciAqcHZoOworICBzdHJ1Y3QgZ3J1 Yl9sdm1fcHZfaGVhZGVyX2V4dCAqcHZoX2V4dDsKKyAgc3RydWN0IGdydWJfZGlza2ZpbHRlcl92 ZyAqdmcgPSBOVUxMOworICBzdHJ1Y3QgZ3J1Yl9sdm1fZGlza19sb2NuICpkbG9jbjsKKyAgZ3J1 Yl91aW50NjRfdCBiYV9vZmZzZXQsIGJhX3NpemUsIGJhX3N0YXJ0X3NlY3RvcjsKKyAgdW5zaWdu ZWQgaW50IGk7CisgIGludCBmaXJzdF9zZWN0b3I7CisKKyAgaWYgKGVtYmVkX3R5cGUgIT0gR1JV Ql9FTUJFRF9QQ0JJT1MpCisgICAgcmV0dXJuIGdydWJfZXJyb3IgKEdSVUJfRVJSX05PVF9JTVBM RU1FTlRFRF9ZRVQsCisgICAgICAgICAgICAgICAgICAgICAgIkxWTSBjdXJlbnRseSBzdXBwb3J0 cyBvbmx5IFBDLUJJT1MgZW1iZWRkaW5nIik7CisjaWZkZWYgR1JVQl9VVElMCisgIHB2aCA9IGdy dWJfbHZtX2dldF9wdmhfYXQoZGlzaywgYnVmLCAmZmlyc3Rfc2VjdG9yLCAxKTsKKyNlbHNlCisg IHB2aCA9IGdydWJfbHZtX2dldF9wdmhfYXQoZGlzaywgYnVmLCAmZmlyc3Rfc2VjdG9yKTsKKyNl bmRpZgorICAvKiBpZiBwdmggaXMgTlVMTCwgd2UgcHJvYmFibHkgaGF2ZSBhIGJ1ZyAqLworICBp ZiAoIXB2aCkKKyAgICByZXR1cm4gZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQlVHLCAidHJ5aW5nIHRv IGluc3RhbGwgb24gbm9uLWV4aXN0aW5nIFBWIGhlYWRlciwgYnV0IHNob3VsZCBhbHJlYWR5IGhh dmUgYmVlbiBwcmV2ZW50ZWQgYnkgaW5pdGlhbCBzY3JlZW5pbmciKTsKKworICBpZiAoZmlyc3Rf c2VjdG9yKQorICAgIHJldHVybiBncnViX2Vycm9yIChHUlVCX0VSUl9CQURfREVWSUNFLCAiUFYg ZGV0ZWN0ZWQgaW5zaWRlIGJvb3Qgc2VjdG9yLCBidXQgd2UgbmVlZCB0aGUgYm9vdCBzZWN0b3Ig dG8gaW5zdGFsbCBpbiIpOworCisgIC8qIGZvciBzb21lIHJlYXNvbiB0aGUgYm9vdGxvYWRlcmFy ZWEgY2hlY2sgd2lsbCBmYWlsIGlmIHdlIGRvbid0IGRvIHRoaXMgaGVyZSAqLworICBncnViX2Rp c2tmaWx0ZXJfZ2V0X3B2X2Zyb21fZGlzayhkaXNrLCAmdmcpOworCisgIGRsb2NuID0gcHZoLT5k aXNrX2FyZWFzX3hsOworCisgIC8qIHNraXAgcGFzdCB0aGUgZGF0YSBhcmVhIGxpc3QgKi8KKyAg d2hpbGUgKGRsb2NuLT5vZmZzZXQpCisgICAgZGxvY24rKzsKKyAgZGxvY24rKzsKKyAgLyogYW5k IHRoZSBtZXRhZGF0YSBhcmVhIGxpc3QgKi8KKyAgd2hpbGUgKGRsb2NuLT5vZmZzZXQpCisgICAg ZGxvY24rKzsKKyAgZGxvY24rKzsKKworICBwdmhfZXh0ID0gKHN0cnVjdCBncnViX2x2bV9wdl9o ZWFkZXJfZXh0KilkbG9jbjsKKyAgaWYgKCFwdmhfZXh0LT52ZXJzaW9uX3hsKQorICAgIHJldHVy biBncnViX2Vycm9yIChHUlVCX0VSUl9CQURfREVWSUNFLCAidHJ5aW5nIHRvIGluc3RhbGwgb24g TFZNIFBWIGJ1dCBpdCBkb2VzIG5vdCBoYXZlIGEgYm9vdGxvYWRlciBhcmVhIHRvIGVtYmVkIGlu LiBDaGVjayBwdmNyZWF0ZSAtLWJvb3Rsb2FkZXJhcmVhc2l6ZSIpOworCisgIGRsb2NuID0gcHZo X2V4dC0+ZGlza19hcmVhc194bDsKKyAgYmFfb2Zmc2V0ID0gZ3J1Yl9sZV90b19jcHU2NCAoZGxv Y24tPm9mZnNldCk7CisgIGJhX3NpemUgPSBncnViX2xlX3RvX2NwdTY0IChkbG9jbi0+c2l6ZSk7 CisgIGlmICghKGJhX29mZnNldCAmJiBiYV9zaXplKSkKKyAgICByZXR1cm4gZ3J1Yl9lcnJvciAo R1JVQl9FUlJfQkFEX0RFVklDRSwgInRyeWluZyB0byBpbnN0YWxsIG9uIExWTSBQViBidXQgaXQg ZG9lcyBub3QgaGF2ZSBhIGJvb3Rsb2FkZXIgYXJlYSB0byBlbWJlZCBpbi4gQ2hlY2sgcHZjcmVh dGUgLS1ib290bG9hZGVyYXJlYXNpemUiKTsKKyAgLyogY291bGQgYmUgd29ya2VkIGFyb3VuZCB3 aXRoIGV4dHJhIGFyaXRobWV0aWMgaWYgdGhpcyBhY3R1YWxseSBoYXBwZW5zICovCisgIGlmIChi YV9vZmZzZXQgJSBHUlVCX0RJU0tfU0VDVE9SX1NJWkUpCisgICAgcmV0dXJuIGdydWJfZXJyb3Ig KAorICAgICAgR1JVQl9FUlJfQkFEX0RFVklDRSwgIkxWTSBib290bG9hZGVyIGFyZWEgaXMgbm90 IGFsaWduZWQgb24gc2VjdG9yIGJvdW5kYXJpZXMgKCVkKSIsIEdSVUJfRElTS19TRUNUT1JfU0la RSk7CisgIGJhX3N0YXJ0X3NlY3RvciA9IGJhX29mZnNldCAvIEdSVUJfRElTS19TRUNUT1JfU0la RTsKKworICAqbnNlY3RvcnMgPSBiYV9zaXplIC8gR1JVQl9ESVNLX1NFQ1RPUl9TSVpFOworICBp ZiAoKm5zZWN0b3JzID4gbWF4X25zZWN0b3JzKQorICAgICpuc2VjdG9ycyA9IG1heF9uc2VjdG9y czsKKworICAqc2VjdG9ycyA9IGdydWJfbWFsbG9jICgqbnNlY3RvcnMgKiBzaXplb2YgKCoqc2Vj dG9ycykpOworICBpZiAoISpzZWN0b3JzKQorICAgIHJldHVybiBncnViX2Vycm5vOworICBmb3Ig KGkgPSAwOyBpIDwgKm5zZWN0b3JzOyBpKyspCisgICAgKCpzZWN0b3JzKVtpXSA9IGJhX3N0YXJ0 X3NlY3RvciArIGk7CisKKyAgcmV0dXJuIEdSVUJfRVJSX05PTkU7Cit9CisjZW5kaWYKIAwKIAog c3RhdGljIHN0cnVjdCBncnViX2Rpc2tmaWx0ZXIgZ3J1Yl9sdm1fZGV2ID0gewpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9ncnViL2Rpc2tmaWx0ZXIuaCBiL2luY2x1ZGUvZ3J1Yi9kaXNrZmlsdGVyLmgK aW5kZXggMWFlZGNkMy4uY2E5NWRlYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ncnViL2Rpc2tmaWx0 ZXIuaAorKysgYi9pbmNsdWRlL2dydWIvZGlza2ZpbHRlci5oCkBAIC03NSw2ICs3NSw5IEBAIHN0 cnVjdCBncnViX2Rpc2tmaWx0ZXJfcHYgewogI2lmZGVmIEdSVUJfVVRJTAogICBjaGFyICoqcGFy dG1hcHM7CiAjZW5kaWYKKyAgLyogT3B0aW9uYWwgYm9vdGxvYWRlciBlbWJlZGRpbmcgYXJlYSAq LworICBncnViX3VpbnQ2NF90IGJhX29mZnNldDsKKyAgZ3J1Yl91aW50NjRfdCBiYV9zaXplOwog fTsKIAogc3RydWN0IGdydWJfZGlza2ZpbHRlcl9sdiB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2dy dWIvZW11L2hvc3RkaXNrLmggYi9pbmNsdWRlL2dydWIvZW11L2hvc3RkaXNrLmgKaW5kZXggZTIz M2QzNy4uNGU0ZGRlYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ncnViL2VtdS9ob3N0ZGlzay5oCisr KyBiL2luY2x1ZGUvZ3J1Yi9lbXUvaG9zdGRpc2suaApAQCAtNDQsNiArNDQsMTQgQEAgY2hhciAq Z3J1Yl91dGlsX2dldF9sZG0gKGdydWJfZGlza190IGRpc2ssIGdydWJfZGlza19hZGRyX3Qgc3Rh cnQpOwogaW50IGdydWJfdXRpbF9pc19sZG0gKGdydWJfZGlza190IGRpc2spOwogCiAjaWZkZWYg R1JVQl9VVElMCitpbnQgZ3J1Yl91dGlsX2lzX2x2bSAoZ3J1Yl9kaXNrX3QgZGlzayk7CitpbnQg Z3J1Yl91dGlsX2hhc19sdm1fdmcgKGdydWJfZGlza190IGRpc2spOworCitncnViX2Vycl90Citn cnViX3V0aWxfbHZtX2VtYmVkIChzdHJ1Y3QgZ3J1Yl9kaXNrICpkaXNrLCB1bnNpZ25lZCBpbnQg Km5zZWN0b3JzLAorICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbWF4X25zZWN0b3Jz LAorICAgICAgICAgICAgICAgICAgICBncnViX2VtYmVkX3R5cGVfdCBlbWJlZF90eXBlLAorICAg ICAgICAgICAgICAgICAgICBncnViX2Rpc2tfYWRkcl90ICoqc2VjdG9ycyk7CiBncnViX2Vycl90 CiBncnViX3V0aWxfbGRtX2VtYmVkIChzdHJ1Y3QgZ3J1Yl9kaXNrICpkaXNrLCB1bnNpZ25lZCBp bnQgKm5zZWN0b3JzLAogCQkgICAgIHVuc2lnbmVkIGludCBtYXhfbnNlY3RvcnMsCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2dydWIvbHZtLmggYi9pbmNsdWRlL2dydWIvbHZtLmgKaW5kZXggMzBhNjA5 Yy4uZGQxOTU1MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ncnViL2x2bS5oCisrKyBiL2luY2x1ZGUv Z3J1Yi9sdm0uaApAQCAtNjIsNiArNjIsMTMgQEAgc3RydWN0IGdydWJfbHZtX3B2X2hlYWRlciB7 CiAgIHN0cnVjdCBncnViX2x2bV9kaXNrX2xvY24gZGlza19hcmVhc194bFswXTsJLyogVHdvIGxp c3RzICovCiB9IEdSVUJfUEFDS0VEOwogCitzdHJ1Y3QgZ3J1Yl9sdm1fcHZfaGVhZGVyX2V4dCB7 CisgIGdydWJfdWludDMyX3QgdmVyc2lvbl94bDsKKyAgZ3J1Yl91aW50MzJfdCBmbGFnc194bDsK KyAgLyogTlVMTC10ZXJtaW5hdGVkIGxpc3Qgb2YgYm9vdGxvYWRlciBlbWJlZGRpbmcgYXJlYXMg Ki8KKyAgc3RydWN0IGdydWJfbHZtX2Rpc2tfbG9jbiBkaXNrX2FyZWFzX3hsWzBdOworfSBfX2F0 dHJpYnV0ZV9fICgocGFja2VkKSk7CisKICNkZWZpbmUgR1JVQl9MVk1fRk1UVF9NQUdJQyAiXDA0 MFwxMTRcMTI2XDExNVwwNjJcMDQwXDE3MFwxMzNcMDY1XDEwMVwwNDVcMTYyXDA2MFwxMTZcMDUy XDA3NiIKICNkZWZpbmUgR1JVQl9MVk1fRk1UVF9WRVJTSU9OIDEKICNkZWZpbmUgR1JVQl9MVk1f TURBX0hFQURFUl9TSVpFIDUxMgpkaWZmIC0tZ2l0IGEvdXRpbC9zZXR1cC5jIGIvdXRpbC9zZXR1 cC5jCmluZGV4IDdjNjAwODMuLjM0YzdmODAgMTAwNjQ0Ci0tLSBhL3V0aWwvc2V0dXAuYworKysg Yi91dGlsL3NldHVwLmMKQEAgLTM5MCw3ICszOTAsNyBAQCBTRVRVUCAoY29uc3QgY2hhciAqZGly LAogICAgICAgLmNvbnRhaW5lciA9IGRlc3RfZGV2LT5kaXNrLT5wYXJ0aXRpb24sCiAgICAgICAu bXVsdGlwbGVfcGFydG1hcHMgPSAwCiAgICAgfTsKLSAgICBpbnQgaXNfbGRtOworICAgIGludCBp c19sZG0sIGlzX2x2bTsKICAgICBncnViX2Vycl90IGVycjsKICAgICBncnViX2Rpc2tfYWRkcl90 ICpzZWN0b3JzOwogICAgIGludCBpOwpAQCAtNDIzLDE1ICs0MjMsMTcgQEAgU0VUVVAgKGNvbnN0 IGNoYXIgKmRpciwKICAgICAgIGdydWJfZXJybm8gPSBHUlVCX0VSUl9OT05FOwogCiAgICAgaXNf bGRtID0gZ3J1Yl91dGlsX2lzX2xkbSAoZGVzdF9kZXYtPmRpc2spOworICAgIGlzX2x2bSA9IGdy dWJfdXRpbF9pc19sdm0gKGRlc3RfZGV2LT5kaXNrKTsKIAogICAgIGlmIChmc19wcm9iZSkKICAg ICAgIHsKLQlpZiAoIWZzICYmICFjdHguZGVzdF9wYXJ0bWFwKQotCSAgZ3J1Yl91dGlsX2Vycm9y IChfKCJ1bmFibGUgdG8gaWRlbnRpZnkgYSBmaWxlc3lzdGVtIGluICVzOyBzYWZldHkgY2hlY2sg Y2FuJ3QgYmUgcGVyZm9ybWVkIiksCi0JCQkgICBkZXN0X2Rldi0+ZGlzay0+bmFtZSk7Ci0JaWYg KGZzICYmICFmcy0+cmVzZXJ2ZWRfZmlyc3Rfc2VjdG9yKQotCSAgLyogVFJBTlNMQVRPUlM6IEZp bGVzeXN0ZW0gbWF5IHJlc2VydmUgdGhlIHNwYWNlIGp1c3QgR1JVQiBpc24ndCBzdXJlIGFib3V0 IGl0LiAgKi8KLQkgIGdydWJfdXRpbF9lcnJvciAoXygiJXMgYXBwZWFycyB0byBjb250YWluIGEg JXMgZmlsZXN5c3RlbSB3aGljaCBpc24ndCBrbm93biB0byAiCisgICAgICAgIC8qIERvdWJ0IHRo ZXJlIGNhbiBiZSBhbnkgRlMgc2lnbmF0dXJlIG9uIExWTT8gKi8KKyAgICAgICAgaWYgKCFpc19s dm0gJiYgIWZzICYmICFjdHguZGVzdF9wYXJ0bWFwKQorICAgICAgICAgIGdydWJfdXRpbF9lcnJv ciAoXygidW5hYmxlIHRvIGlkZW50aWZ5IGEgZmlsZXN5c3RlbSBpbiAlczsgc2FmZXR5IGNoZWNr IGNhbid0IGJlIHBlcmZvcm1lZCIpLCBkZXN0X2Rldi0+ZGlzay0+bmFtZSk7CisKKyAgICAgICAg aWYgKGZzICYmICFmcy0+cmVzZXJ2ZWRfZmlyc3Rfc2VjdG9yKQorICAgICAgICAgIC8qIFRSQU5T TEFUT1JTOiBGaWxlc3lzdGVtIG1heSByZXNlcnZlIHRoZSBzcGFjZSBqdXN0IEdSVUIgaXNuJ3Qg c3VyZSBhYm91dCBpdC4gKi8KKyAgICAgICAgICBncnViX3V0aWxfZXJyb3IgKF8oIiVzIGFwcGVh cnMgdG8gY29udGFpbiBhICVzIGZpbGVzeXN0ZW0gd2hpY2ggaXNuJ3Qga25vd24gdG8gIgogCQkJ ICAgICAicmVzZXJ2ZSBzcGFjZSBmb3IgRE9TLXN0eWxlIGJvb3QuICBJbnN0YWxsaW5nIEdSVUIg dGhlcmUgY291bGQgIgogCQkJICAgICAicmVzdWx0IGluIEZJTEVTWVNURU0gREVTVFJVQ1RJT04g aWYgdmFsdWFibGUgZGF0YSBpcyBvdmVyd3JpdHRlbiAiCiAJCQkgICAgICJieSBncnViLXNldHVw ICgtLXNraXAtZnMtcHJvYmUgZGlzYWJsZXMgdGhpcyAiCkBAIC00NjIsMTIgKzQ2NCwxMiBAQCBT RVRVUCAoY29uc3QgY2hhciAqZGlyLAogCiAgICAgICB9CiAKLSAgICBpZiAoISBjdHguZGVzdF9w YXJ0bWFwICYmICEgZnMgJiYgIWlzX2xkbSkKKyAgICBpZiAoISBjdHguZGVzdF9wYXJ0bWFwICYm ICEgZnMgJiYgIWlzX2xkbSAmJiAhaXNfbHZtKQogICAgICAgewogCWdydWJfdXRpbF93YXJuICgi JXMiLCBfKCJBdHRlbXB0aW5nIHRvIGluc3RhbGwgR1JVQiB0byBhIHBhcnRpdGlvbmxlc3MgZGlz ayBvciB0byBhIHBhcnRpdGlvbi4gIFRoaXMgaXMgYSBCQUQgaWRlYS4iKSk7CiAJZ290byB1bmFi bGVfdG9fZW1iZWQ7CiAgICAgICB9Ci0gICAgaWYgKGN0eC5tdWx0aXBsZV9wYXJ0bWFwcyB8fCAo Y3R4LmRlc3RfcGFydG1hcCAmJiBmcykgfHwgKGlzX2xkbSAmJiBmcykpCisgICAgaWYgKGN0eC5t dWx0aXBsZV9wYXJ0bWFwcyB8fCAoY3R4LmRlc3RfcGFydG1hcCAmJiBmcykgfHwgKChpc19sZG0g fHwgaXNfbHZtKSAmJiBmcykpCiAgICAgICB7CiAJZ3J1Yl91dGlsX3dhcm4gKCIlcyIsIF8oIkF0 dGVtcHRpbmcgdG8gaW5zdGFsbCBHUlVCIHRvIGEgZGlzayB3aXRoIG11bHRpcGxlIHBhcnRpdGlv biBsYWJlbHMuICBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgeWV0LiIpKTsKIAlnb3RvIHVuYWJsZV90 b19lbWJlZDsKQEAgLTQ5OSw3ICs1MDEsMTAgQEAgU0VUVVAgKGNvbnN0IGNoYXIgKmRpciwKICAg ICAgIG1heHNlYyA9ICgoMHg3ODAwMCAtIEdSVUJfS0VSTkVMX0kzODZfUENfTElOS19BRERSKQog CQk+PiBHUlVCX0RJU0tfU0VDVE9SX0JJVFMpOwogCi0gICAgaWYgKGlzX2xkbSkKKyAgICBpZiAo aXNfbHZtKQorICAgICAgZXJyID0gZ3J1Yl91dGlsX2x2bV9lbWJlZCAoZGVzdF9kZXYtPmRpc2ss ICZuc2VjLCBtYXhzZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdSVUJfRU1C RURfUENCSU9TLCAmc2VjdG9ycyk7CisgICAgZWxzZSBpZiAoaXNfbGRtKQogICAgICAgZXJyID0g Z3J1Yl91dGlsX2xkbV9lbWJlZCAoZGVzdF9kZXYtPmRpc2ssICZuc2VjLCBtYXhzZWMsCiAJCQkJ IEdSVUJfRU1CRURfUENCSU9TLCAmc2VjdG9ycyk7CiAgICAgZWxzZSBpZiAoY3R4LmRlc3RfcGFy dG1hcCkKQEAgLTYwMiw3ICs2MDcsNyBAQCB1bmFibGVfdG9fZW1iZWQ6CiAKICAgaWYgKGRlc3Rf ZGV2LT5kaXNrLT5kZXYtPmlkICE9IHJvb3RfZGV2LT5kaXNrLT5kZXYtPmlkKQogICAgIGdydWJf dXRpbF9lcnJvciAoIiVzIiwgXygiZW1iZWRkaW5nIGlzIG5vdCBwb3NzaWJsZSwgYnV0IHRoaXMg aXMgcmVxdWlyZWQgZm9yICIKLQkJCSAgICAgIlJBSUQgYW5kIExWTSBpbnN0YWxsIikpOworCQkJ ICAgICAiTFZNIGFuZCBSQUlEIGluc3RhbGwiKSk7CiAKICAgewogICAgIGdydWJfZnNfdCBmczsK --=_210090102903ddfafaaeeef6947ad3b1 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=housekeeping.patch Content-Disposition: attachment; filename=housekeeping.patch; size=6968 ZGlmZiAtLWdpdCBhL2dydWItY29yZS9kaXNrL2x2bS5jIGIvZ3J1Yi1jb3JlL2Rpc2svbHZtLmMK aW5kZXggNDgzYzE3ZS4uMjJjN2I2NCAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2Rpc2svbHZtLmMK KysrIGIvZ3J1Yi1jb3JlL2Rpc2svbHZtLmMKQEAgLTE2MCw3ICsxNjAsNyBAQCBncnViX2x2bV9k ZXRlY3QgKGdydWJfZGlza190IGRpc2ssCiAJCSAgIndlIGRvbid0IHN1cHBvcnQgbXVsdGlwbGUg TFZNIGRhdGEgYXJlYXMiKTsKIAogI2lmZGVmIEdSVUJfVVRJTAotICAgICAgZ3J1Yl91dGlsX2lu Zm8gKCJ3ZSBkb24ndCBzdXBwb3J0IG11bHRpcGxlIExWTSBkYXRhIGFyZWFzXG4iKTsKKyAgICAg IGdydWJfdXRpbF9pbmZvICgid2UgZG9uJ3Qgc3VwcG9ydCBtdWx0aXBsZSBMVk0gZGF0YSBhcmVh cyIpOwogI2VuZGlmCiAgICAgICBnb3RvIGZhaWw7CiAgICAgfQpAQCAtMTg5LDcgKzE4OSw3IEBA IGdydWJfbHZtX2RldGVjdCAoZ3J1Yl9kaXNrX3QgZGlzaywKICAgICAgIGdydWJfZXJyb3IgKEdS VUJfRVJSX05PVF9JTVBMRU1FTlRFRF9ZRVQsCiAJCSAgInVua25vd24gTFZNIG1ldGFkYXRhIGhl YWRlciIpOwogI2lmZGVmIEdSVUJfVVRJTAotICAgICAgZ3J1Yl91dGlsX2luZm8gKCJ1bmtub3du IExWTSBtZXRhZGF0YSBoZWFkZXJcbiIpOworICAgICAgZ3J1Yl91dGlsX2luZm8gKCJ1bmtub3du IExWTSBtZXRhZGF0YSBoZWFkZXIiKTsKICNlbmRpZgogICAgICAgZ290byBmYWlsMjsKICAgICB9 CkBAIC0yMTMsNyArMjEzLDcgQEAgZ3J1Yl9sdm1fZGV0ZWN0IChncnViX2Rpc2tfdCBkaXNrLAog ICBpZiAocSA9PSBtZXRhZGF0YWJ1ZiArIG1kYV9zaXplKQogICAgIHsKICNpZmRlZiBHUlVCX1VU SUwKLSAgICAgIGdydWJfdXRpbF9pbmZvICgiZXJyb3IgcGFyc2luZyBtZXRhZGF0YVxuIik7Cisg ICAgICBncnViX3V0aWxfaW5mbyAoImVycm9yIHBhcnNpbmcgbWV0YWRhdGEiKTsKICNlbmRpZgog ICAgICAgZ290byBmYWlsMjsKICAgICB9CkBAIC0yMzAsNyArMjMwLDcgQEAgZ3J1Yl9sdm1fZGV0 ZWN0IChncnViX2Rpc2tfdCBkaXNrLAogICBpZiAocCA9PSBOVUxMKQogICAgIHsKICNpZmRlZiBH UlVCX1VUSUwKLSAgICAgIGdydWJfdXRpbF9pbmZvICgiY291bGRuJ3QgZmluZCBJRFxuIik7Cisg ICAgICBncnViX3V0aWxfaW5mbyAoImNvdWxkbid0IGZpbmQgSUQiKTsKICNlbmRpZgogICAgICAg Z290byBmYWlsMzsKICAgICB9CkBAIC0yNTgsNyArMjU4LDcgQEAgZ3J1Yl9sdm1fZGV0ZWN0IChn cnViX2Rpc2tfdCBkaXNrLAogICAgICAgaWYgKHAgPT0gTlVMTCkKIAl7CiAjaWZkZWYgR1JVQl9V VElMCi0JICBncnViX3V0aWxfaW5mbyAoInVua25vd24gZXh0ZW50IHNpemVcbiIpOworCSAgZ3J1 Yl91dGlsX2luZm8gKCJ1bmtub3duIGV4dGVudCBzaXplIik7CiAjZW5kaWYKIAkgIGdvdG8gZmFp bDQ7CiAJfQpAQCAtMzA2LDcgKzMwNiw3IEBAIGdydWJfbHZtX2RldGVjdCAoZ3J1Yl9kaXNrX3Qg ZGlzaywKIAkgICAgICBpZiAocCA9PSBOVUxMKQogCQl7CiAjaWZkZWYgR1JVQl9VVElMCi0JCSAg Z3J1Yl91dGlsX2luZm8gKCJ1bmtub3duIHBlX3N0YXJ0XG4iKTsKKwkJICBncnViX3V0aWxfaW5m byAoInVua25vd24gcGVfc3RhcnQiKTsKICNlbmRpZgogCQkgIGdvdG8gcHZzX2ZhaWw7CiAJCX0K QEAgLTMxNSw3ICszMTUsNyBAQCBncnViX2x2bV9kZXRlY3QgKGdydWJfZGlza190IGRpc2ssCiAJ ICAgICAgaWYgKHAgPT0gTlVMTCkKIAkJewogI2lmZGVmIEdSVUJfVVRJTAotCQkgIGdydWJfdXRp bF9pbmZvICgiZXJyb3IgcGFyc2luZyBwZV9zdGFydFxuIik7CisJCSAgZ3J1Yl91dGlsX2luZm8g KCJlcnJvciBwYXJzaW5nIHBlX3N0YXJ0Iik7CiAjZW5kaWYKIAkJICBnb3RvIHB2c19mYWlsOwog CQl9CkBAIC00MDIsNyArNDAyLDcgQEAgZ3J1Yl9sdm1fZGV0ZWN0IChncnViX2Rpc2tfdCBkaXNr LAogCQlpZiAocCA9PSBOVUxMKQogCQkgIHsKICNpZmRlZiBHUlVCX1VUSUwKLQkJICAgIGdydWJf dXRpbF9pbmZvICgiY291bGRuJ3QgZmluZCBJRFxuIik7CisJCSAgICBncnViX3V0aWxfaW5mbyAo ImNvdWxkbid0IGZpbmQgSUQiKTsKICNlbmRpZgogCQkgICAgZ290byBsdnNfZmFpbDsKIAkJICB9 CkBAIC00MjIsNyArNDIyLDcgQEAgZ3J1Yl9sdm1fZGV0ZWN0IChncnViX2Rpc2tfdCBkaXNrLAog CSAgICAgIGlmIChwID09IE5VTEwpCiAJCXsKICNpZmRlZiBHUlVCX1VUSUwKLQkJICBncnViX3V0 aWxfaW5mbyAoInVua25vd24gc2VnbWVudF9jb3VudFxuIik7CisJCSAgZ3J1Yl91dGlsX2luZm8g KCJ1bmtub3duIHNlZ21lbnRfY291bnQiKTsKICNlbmRpZgogCQkgIGdvdG8gbHZzX2ZhaWw7CiAJ CX0KQEAgLTQzNiw3ICs0MzYsNyBAQCBncnViX2x2bV9kZXRlY3QgKGdydWJfZGlza190IGRpc2ss CiAJCSAgaWYgKHAgPT0gTlVMTCkKIAkJICAgIHsKICNpZmRlZiBHUlVCX1VUSUwKLQkJICAgICAg Z3J1Yl91dGlsX2luZm8gKCJ1bmtub3duIHNlZ21lbnRcbiIpOworCQkgICAgICBncnViX3V0aWxf aW5mbyAoInVua25vd24gc2VnbWVudCIpOwogI2VuZGlmCiAJCSAgICAgIGdvdG8gbHZzX3NlZ21l bnRfZmFpbDsKIAkJICAgIH0KQEAgLTQ0NSw3ICs0NDUsNyBAQCBncnViX2x2bV9kZXRlY3QgKGdy dWJfZGlza190IGRpc2ssCiAJCSAgaWYgKHAgPT0gTlVMTCkKIAkJICAgIHsKICNpZmRlZiBHUlVC X1VUSUwKLQkJICAgICAgZ3J1Yl91dGlsX2luZm8gKCJ1bmtub3duIHN0YXJ0X2V4dGVudFxuIik7 CisJCSAgICAgIGdydWJfdXRpbF9pbmZvICgidW5rbm93biBzdGFydF9leHRlbnQiKTsKICNlbmRp ZgogCQkgICAgICBnb3RvIGx2c19zZWdtZW50X2ZhaWw7CiAJCSAgICB9CkBAIC00NTMsNyArNDUz LDcgQEAgZ3J1Yl9sdm1fZGV0ZWN0IChncnViX2Rpc2tfdCBkaXNrLAogCQkgIGlmIChwID09IE5V TEwpCiAJCSAgICB7CiAjaWZkZWYgR1JVQl9VVElMCi0JCSAgICAgIGdydWJfdXRpbF9pbmZvICgi dW5rbm93biBleHRlbnRfY291bnRcbiIpOworCQkgICAgICBncnViX3V0aWxfaW5mbyAoInVua25v d24gZXh0ZW50X2NvdW50Iik7CiAjZW5kaWYKIAkJICAgICAgZ290byBsdnNfc2VnbWVudF9mYWls OwogCQkgICAgfQpAQCAtNDc1LDcgKzQ3NSw3IEBAIGdydWJfbHZtX2RldGVjdCAoZ3J1Yl9kaXNr X3QgZGlzaywKIAkJICAgICAgaWYgKHAgPT0gTlVMTCkKIAkJCXsKICNpZmRlZiBHUlVCX1VUSUwK LQkJCSAgZ3J1Yl91dGlsX2luZm8gKCJ1bmtub3duIHN0cmlwZV9jb3VudFxuIik7CisJCQkgIGdy dWJfdXRpbF9pbmZvICgidW5rbm93biBzdHJpcGVfY291bnQiKTsKICNlbmRpZgogCQkJICBnb3Rv IGx2c19zZWdtZW50X2ZhaWw7CiAJCQl9CkBAIC00OTEsNyArNDkxLDcgQEAgZ3J1Yl9sdm1fZGV0 ZWN0IChncnViX2Rpc2tfdCBkaXNrLAogCQkgICAgICBpZiAocCA9PSBOVUxMKQogCQkJewogI2lm ZGVmIEdSVUJfVVRJTAotCQkJICBncnViX3V0aWxfaW5mbyAoInVua25vd24gc3RyaXBlc1xuIik7 CisJCQkgIGdydWJfdXRpbF9pbmZvICgidW5rbm93biBzdHJpcGVzIik7CiAjZW5kaWYKIAkJCSAg Z290byBsdnNfc2VnbWVudF9mYWlsMjsKIAkJCX0KQEAgLTUzMyw3ICs1MzMsNyBAQCBncnViX2x2 bV9kZXRlY3QgKGdydWJfZGlza190IGRpc2ssCiAJCSAgICAgIGlmIChwID09IE5VTEwpCiAJCQl7 CiAjaWZkZWYgR1JVQl9VVElMCi0JCQkgIGdydWJfdXRpbF9pbmZvICgidW5rbm93biBtaXJyb3Jf Y291bnRcbiIpOworCQkJICBncnViX3V0aWxfaW5mbyAoInVua25vd24gbWlycm9yX2NvdW50Iik7 CiAjZW5kaWYKIAkJCSAgZ290byBsdnNfc2VnbWVudF9mYWlsOwogCQkJfQpAQCAtNTQ1LDcgKzU0 NSw3IEBAIGdydWJfbHZtX2RldGVjdCAoZ3J1Yl9kaXNrX3QgZGlzaywKIAkJICAgICAgaWYgKHAg PT0gTlVMTCkKIAkJCXsKICNpZmRlZiBHUlVCX1VUSUwKLQkJCSAgZ3J1Yl91dGlsX2luZm8gKCJ1 bmtub3duIG1pcnJvcnNcbiIpOworCQkJICBncnViX3V0aWxfaW5mbyAoInVua25vd24gbWlycm9y cyIpOwogI2VuZGlmCiAJCQkgIGdvdG8gbHZzX3NlZ21lbnRfZmFpbDI7CiAJCQl9CkBAIC02MDMs NyArNjAzLDcgQEAgZ3J1Yl9sdm1fZGV0ZWN0IChncnViX2Rpc2tfdCBkaXNrLAogCQkgICAgICBp ZiAocCA9PSBOVUxMKQogCQkJewogI2lmZGVmIEdSVUJfVVRJTAotCQkJICBncnViX3V0aWxfaW5m byAoInVua25vd24gZGV2aWNlX2NvdW50XG4iKTsKKwkJCSAgZ3J1Yl91dGlsX2luZm8gKCJ1bmtu b3duIGRldmljZV9jb3VudCIpOwogI2VuZGlmCiAJCQkgIGdvdG8gbHZzX3NlZ21lbnRfZmFpbDsK IAkJCX0KQEAgLTYxMiw3ICs2MTIsNyBAQCBncnViX2x2bV9kZXRlY3QgKGdydWJfZGlza190IGRp c2ssCiAJCSAgICAgIGlmIChwID09IE5VTEwpCiAJCQl7CiAjaWZkZWYgR1JVQl9VVElMCi0JCQkg IGdydWJfdXRpbF9pbmZvICgidW5rbm93biBzdHJpcGVfc2l6ZVxuIik7CisJCQkgIGdydWJfdXRp bF9pbmZvICgidW5rbm93biBzdHJpcGVfc2l6ZSIpOwogI2VuZGlmCiAJCQkgIGdvdG8gbHZzX3Nl Z21lbnRfZmFpbDsKIAkJCX0KQEAgLTYyNSw3ICs2MjUsNyBAQCBncnViX2x2bV9kZXRlY3QgKGdy dWJfZGlza190IGRpc2ssCiAJCSAgICAgIGlmIChwID09IE5VTEwpCiAJCQl7CiAjaWZkZWYgR1JV Ql9VVElMCi0JCQkgIGdydWJfdXRpbF9pbmZvICgidW5rbm93biBtaXJyb3JzXG4iKTsKKwkJCSAg Z3J1Yl91dGlsX2luZm8gKCJ1bmtub3duIG1pcnJvcnMiKTsKICNlbmRpZgogCQkJICBnb3RvIGx2 c19zZWdtZW50X2ZhaWwyOwogCQkJfQpAQCAtNjcyLDcgKzY3Miw3IEBAIGdydWJfbHZtX2RldGVj dCAoZ3J1Yl9kaXNrX3QgZGlzaywKIAkJICAgICAgcDIgPSBncnViX3N0cmNociAocCwgJyInKTsK IAkJICAgICAgaWYgKHAyKQogCQkJKnAyID0gMDsKLQkJICAgICAgZ3J1Yl91dGlsX2luZm8gKCJ1 bmtub3duIExWTSB0eXBlICVzXG4iLCBwKTsKKwkJICAgICAgZ3J1Yl91dGlsX2luZm8gKCJ1bmtu b3duIExWTSB0eXBlICVzIiwgcCk7CiAJCSAgICAgIGlmIChwMikKIAkJCSpwMiA9JyInOwogI2Vu ZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2dydWIvZW11L2hvc3RkaXNrLmggYi9pbmNsdWRlL2dy dWIvZW11L2hvc3RkaXNrLmgKaW5kZXggZTAwNmYwYi4uZTIzM2QzNyAxMDA2NDQKLS0tIGEvaW5j bHVkZS9ncnViL2VtdS9ob3N0ZGlzay5oCisrKyBiL2luY2x1ZGUvZ3J1Yi9lbXUvaG9zdGRpc2su aApAQCAtMjYsOCArMjYsOCBAQAogI2luY2x1ZGUgPGdydWIvZW11L2hvc3RmaWxlLmg+CiAKIGdy dWJfdXRpbF9mZF90Ci1ncnViX3V0aWxfZmRfb3Blbl9kZXZpY2UgKGNvbnN0IGdydWJfZGlza190 IGRpc2ssIGdydWJfZGlza19hZGRyX3Qgc2VjdG9yLCBpbnQgZmxhZ3MsCi0JCQkgIGdydWJfZGlz a19hZGRyX3QgKm1heCk7CitncnViX3V0aWxfZmRfb3Blbl9kZXZpY2UgKGNvbnN0IGdydWJfZGlz a190IGRpc2ssIGdydWJfZGlza19hZGRyX3Qgc2VjdG9yLAorICAgICAgICAgICAgICAgICAgICAg ICAgIGludCBmbGFncywgZ3J1Yl9kaXNrX2FkZHJfdCAqbWF4KTsKIAogdm9pZCBncnViX3V0aWxf Ymlvc2Rpc2tfaW5pdCAoY29uc3QgY2hhciAqZGV2X21hcCk7CiB2b2lkIGdydWJfdXRpbF9iaW9z ZGlza19maW5pICh2b2lkKTsKQEAgLTM1LDE3ICszNSwxNCBAQCBjaGFyICpncnViX3V0aWxfYmlv c2Rpc2tfZ2V0X2dydWJfZGV2IChjb25zdCBjaGFyICpvc19kZXYpOwogY29uc3QgY2hhciAqZ3J1 Yl91dGlsX2Jpb3NkaXNrX2dldF9vc2RldiAoZ3J1Yl9kaXNrX3QgZGlzayk7CiBpbnQgZ3J1Yl91 dGlsX2Jpb3NkaXNrX2lzX3ByZXNlbnQgKGNvbnN0IGNoYXIgKm5hbWUpOwogaW50IGdydWJfdXRp bF9iaW9zZGlza19pc19mbG9wcHkgKGdydWJfZGlza190IGRpc2spOwotY29uc3QgY2hhciAqCi1n cnViX3V0aWxfYmlvc2Rpc2tfZ2V0X2NvbXBhdGliaWxpdHlfaGludCAoZ3J1Yl9kaXNrX3QgZGlz ayk7Citjb25zdCBjaGFyICpncnViX3V0aWxfYmlvc2Rpc2tfZ2V0X2NvbXBhdGliaWxpdHlfaGlu dCAoZ3J1Yl9kaXNrX3QgZGlzayk7CiBncnViX2Vycl90IGdydWJfdXRpbF9iaW9zZGlza19mbHVz aCAoc3RydWN0IGdydWJfZGlzayAqZGlzayk7CiBncnViX2Vycl90CiBncnViX2NyeXB0b2Rpc2tf Y2hlYXRfbW91bnQgKGNvbnN0IGNoYXIgKnNvdXJjZWRldiwgY29uc3QgY2hhciAqY2hlYXQpOwot Y29uc3QgY2hhciAqCi1ncnViX3V0aWxfY3J5cHRvZGlza19nZXRfdXVpZCAoZ3J1Yl9kaXNrX3Qg ZGlzayk7Ci1jaGFyICoKLWdydWJfdXRpbF9nZXRfbGRtIChncnViX2Rpc2tfdCBkaXNrLCBncnVi X2Rpc2tfYWRkcl90IHN0YXJ0KTsKLWludAotZ3J1Yl91dGlsX2lzX2xkbSAoZ3J1Yl9kaXNrX3Qg ZGlzayk7Citjb25zdCBjaGFyICpncnViX3V0aWxfY3J5cHRvZGlza19nZXRfdXVpZCAoZ3J1Yl9k aXNrX3QgZGlzayk7CitjaGFyICpncnViX3V0aWxfZ2V0X2xkbSAoZ3J1Yl9kaXNrX3QgZGlzaywg Z3J1Yl9kaXNrX2FkZHJfdCBzdGFydCk7CitpbnQgZ3J1Yl91dGlsX2lzX2xkbSAoZ3J1Yl9kaXNr X3QgZGlzayk7CisKICNpZmRlZiBHUlVCX1VUSUwKIGdydWJfZXJyX3QKIGdydWJfdXRpbF9sZG1f ZW1iZWQgKHN0cnVjdCBncnViX2Rpc2sgKmRpc2ssIHVuc2lnbmVkIGludCAqbnNlY3RvcnMsCmRp ZmYgLS1naXQgYS91dGlsL3NldHVwLmMgYi91dGlsL3NldHVwLmMKaW5kZXggMzk0NWVmZi4uN2M2 MDA4MyAxMDA2NDQKLS0tIGEvdXRpbC9zZXR1cC5jCisrKyBiL3V0aWwvc2V0dXAuYwpAQCAtMSw0 ICsxLDQgQEAKLS8qIGdydWItc2V0dXAuYyAtIG1ha2UgR1JVQiB1c2FibGUgKi8KKy8qIHNldHVw LmMgLSBtYWtlIEdSVUIgdXNhYmxlICovCiAvKgogICogIEdSVUIgIC0tICBHUmFuZCBVbmlmaWVk IEJvb3Rsb2FkZXIKICAqICBDb3B5cmlnaHQgKEMpIDE5OTksMjAwMCwyMDAxLDIwMDIsMjAwMywy MDA0LDIwMDUsMjAwNiwyMDA3LDIwMDgsMjAwOSwyMDEwLDIwMTEgIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgo= --=_210090102903ddfafaaeeef6947ad3b1--