From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtps.newmedia-net.de ([185.84.6.167]:52573 "EHLO webmail.newmedia-net.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753936AbdKOW5q (ORCPT ); Wed, 15 Nov 2017 17:57:46 -0500 Subject: Re: [PATCH 4.9.y] netfilter: nat: Revert "netfilter: nat: convert nat bysrc hash to rhashtable" To: Pablo Neira Ayuso , Greg Kroah-Hartman Cc: Florian Westphal , Guillaume Nault , stable@vger.kernel.org References: <20171112202347.14762-1-fw@strlen.de> <27ad57ea-74dc-adaf-de87-65ac43fc0e26@dd-wrt.com> <20171114110546.GA32514@breakpoint.cc> <20171114193011.ju5dg623omnrniuf@alphalink.fr> <66c71431-aa02-b55e-b35a-67e08433c5fc@dd-wrt.com> <20171115101300.GR5512@breakpoint.cc> <20171115140406.GA22799@kroah.com> <20171115141648.GB2765@salvia> From: Sebastian Gottschall Message-ID: <476d956c-e149-4317-212e-da4d8ca0ef7a@dd-wrt.com> Date: Wed, 15 Nov 2017 23:57:46 +0100 MIME-Version: 1.0 In-Reply-To: <20171115141648.GB2765@salvia> Content-Type: multipart/mixed; boundary="------------7563E8A733DD824D6E7E2A69" Sender: stable-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --------------7563E8A733DD824D6E7E2A69 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Am 15.11.2017 um 15:16 schrieb Pablo Neira Ayuso: > On Wed, Nov 15, 2017 at 03:04:06PM +0100, Greg Kroah-Hartman wrote: >> Ok, let me just drop this patch, get this 4.9 release out, and then can >> you all send me a patch, or series of patches, that you feel should be >> applied to 4.9 to resolve this issue? > Please, indeed drop it for 4.9. We'll take the time here to sort out > things. > > Thanks Greg. > @florian: this is the cherry picked variant which applies clean to the current 4.9 series. since i'm not the author, please resubmit it from your side using the correct format -- Mit freundlichen Grüssen / Regards Sebastian Gottschall / CTO NewMedia-NET GmbH - DD-WRT Firmensitz: Stubenwaldallee 21a, 64625 Bensheim Registergericht: Amtsgericht Darmstadt, HRB 25473 Geschäftsführer: Peter Steinhäuser, Christian Scheele http://www.dd-wrt.com email: s.gottschall@dd-wrt.com Tel.: +496251-582650 / Fax: +496251-5826565 --------------7563E8A733DD824D6E7E2A69 Content-Type: text/plain; charset=UTF-8; name="revert_nat_bysrc_hash_to_rhashtable.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="revert_nat_bysrc_hash_to_rhashtable.patch" LS0tIGluY2x1ZGUvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2suaAkocmV2aXNpb24gMzM3 MTkpCisrKyBpbmNsdWRlL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrLmgJKHdvcmtpbmcg Y29weSkKQEAgLTE3LDcgKzE3LDYgQEAKICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KICNp bmNsdWRlIDxsaW51eC9jb21waWxlci5oPgogI2luY2x1ZGUgPGxpbnV4L2F0b21pYy5oPgot I2luY2x1ZGUgPGxpbnV4L3JoYXNodGFibGUuaD4KIAogI2luY2x1ZGUgPGxpbnV4L25ldGZp bHRlci9uZl9jb25udHJhY2tfdGNwLmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZmlsdGVyL25m X2Nvbm50cmFja19kY2NwLmg+CkBAIC0xMDEsNyArMTAwLDcgQEAKIAlwb3NzaWJsZV9uZXRf dCBjdF9uZXQ7CiAKICNpZiBJU19FTkFCTEVEKENPTkZJR19ORl9OQVQpCi0Jc3RydWN0IHJo bGlzdF9oZWFkIG5hdF9ieXNvdXJjZTsKKwlzdHJ1Y3QgaGxpc3Rfbm9kZQluYXRfYnlzb3Vy Y2U7CiAjZW5kaWYKIAkvKiBhbGwgbWVtYmVycyBiZWxvdyBpbml0aWFsaXplZCB2aWEgbWVt c2V0ICovCiAJdTggX19uZmN0X2luaXRfb2Zmc2V0WzBdOwpJbmRleDogaW5jbHVkZS9uZXQv bmV0ZmlsdGVyL25mX25hdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGluY2x1ZGUvbmV0L25ldGZp bHRlci9uZl9uYXQuaAkocmV2aXNpb24gMzM3MTkpCisrKyBpbmNsdWRlL25ldC9uZXRmaWx0 ZXIvbmZfbmF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw1IEBACiAjaWZuZGVmIF9O Rl9OQVRfSAogI2RlZmluZSBfTkZfTkFUX0gKLSNpbmNsdWRlIDxsaW51eC9yaGFzaHRhYmxl Lmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZmlsdGVyX2lwdjQuaD4KICNpbmNsdWRlIDxsaW51 eC9uZXRmaWx0ZXIvbmZfbmF0Lmg+CiAjaW5jbHVkZSA8bmV0L25ldGZpbHRlci9uZl9jb25u dHJhY2tfdHVwbGUuaD4KLS0tIG5ldC9uZXRmaWx0ZXIvbmZfbmF0X2NvcmUuYwkocmV2aXNp b24gMzM3MTkpCisrKyBuZXQvbmV0ZmlsdGVyL25mX25hdF9jb3JlLmMJKHdvcmtpbmcgY29w eSkKQEAgLTMwLDYgKzMwLDggQEAKICNpbmNsdWRlIDxuZXQvbmV0ZmlsdGVyL25mX2Nvbm50 cmFja196b25lcy5oPgogI2luY2x1ZGUgPGxpbnV4L25ldGZpbHRlci9uZl9uYXQuaD4KIAor c3RhdGljIERFRklORV9TUElOTE9DSyhuZl9uYXRfbG9jayk7CisKIHN0YXRpYyBERUZJTkVf TVVURVgobmZfbmF0X3Byb3RvX211dGV4KTsKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbmZfbmF0 X2wzcHJvdG8gX19yY3UgKm5mX25hdF9sM3Byb3Rvc1tORlBST1RPX05VTVBST1RPXQogCQkJ CQkJX19yZWFkX21vc3RseTsKQEAgLTM2LDE0ICszOCwxMCBAQAogc3RhdGljIGNvbnN0IHN0 cnVjdCBuZl9uYXRfbDRwcm90byBfX3JjdSAqKm5mX25hdF9sNHByb3Rvc1tORlBST1RPX05V TVBST1RPXQogCQkJCQkJX19yZWFkX21vc3RseTsKIAotc3RydWN0IG5mX25hdF9jb25uX2tl eSB7Ci0JY29uc3Qgc3RydWN0IG5ldCAqbmV0OwotCWNvbnN0IHN0cnVjdCBuZl9jb25udHJh Y2tfdHVwbGUgKnR1cGxlOwotCWNvbnN0IHN0cnVjdCBuZl9jb25udHJhY2tfem9uZSAqem9u ZTsKLX07CitzdGF0aWMgc3RydWN0IGhsaXN0X2hlYWQgKm5mX25hdF9ieXNvdXJjZSBfX3Jl YWRfbW9zdGx5Oworc3RhdGljIHVuc2lnbmVkIGludCBuZl9uYXRfaHRhYmxlX3NpemUgX19y ZWFkX21vc3RseTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbmZfbmF0X2hhc2hfcm5kIF9fcmVh ZF9tb3N0bHk7CiAKLXN0YXRpYyBzdHJ1Y3QgcmhsdGFibGUgbmZfbmF0X2J5c291cmNlX3Rh YmxlOwotCiBpbmxpbmUgY29uc3Qgc3RydWN0IG5mX25hdF9sM3Byb3RvICoKIF9fbmZfbmF0 X2wzcHJvdG9fZmluZCh1OCBmYW1pbHkpCiB7CkBAIC0xMjEsMTcgKzExOSwxOSBAQAogRVhQ T1JUX1NZTUJPTChuZl94ZnJtX21lX2hhcmRlcik7CiAjZW5kaWYgLyogQ09ORklHX1hGUk0g Ki8KIAotc3RhdGljIHUzMiBuZl9uYXRfYnlzb3VyY2VfaGFzaChjb25zdCB2b2lkICpkYXRh LCB1MzIgbGVuLCB1MzIgc2VlZCkKKy8qIFdlIGtlZXAgYW4gZXh0cmEgaGFzaCBmb3IgZWFj aCBjb25udHJhY2ssIGZvciBmYXN0IHNlYXJjaGluZy4gKi8KK3N0YXRpYyBpbmxpbmUgdW5z aWduZWQgaW50CitoYXNoX2J5X3NyYyhjb25zdCBzdHJ1Y3QgbmV0ICpuLCBjb25zdCBzdHJ1 Y3QgbmZfY29ubnRyYWNrX3R1cGxlICp0dXBsZSkKIHsKLQljb25zdCBzdHJ1Y3QgbmZfY29u bnRyYWNrX3R1cGxlICp0OwotCWNvbnN0IHN0cnVjdCBuZl9jb25uICpjdCA9IGRhdGE7CisJ dW5zaWduZWQgaW50IGhhc2g7CiAKLQl0ID0gJmN0LT50dXBsZWhhc2hbSVBfQ1RfRElSX09S SUdJTkFMXS50dXBsZTsKKwlnZXRfcmFuZG9tX29uY2UoJm5mX25hdF9oYXNoX3JuZCwgc2l6 ZW9mKG5mX25hdF9oYXNoX3JuZCkpOworCiAJLyogT3JpZ2luYWwgc3JjLCB0byBlbnN1cmUg d2UgbWFwIGl0IGNvbnNpc3RlbnRseSBpZiBwb3NzLiAqLworCWhhc2ggPSBqaGFzaDIoKHUz MiAqKSZ0dXBsZS0+c3JjLCBzaXplb2YodHVwbGUtPnNyYykgLyBzaXplb2YodTMyKSwKKwkJ ICAgICAgdHVwbGUtPmRzdC5wcm90b251bSBeIG5mX25hdF9oYXNoX3JuZCBeIG5ldF9oYXNo X21peChuKSk7CiAKLQlzZWVkIF49IG5ldF9oYXNoX21peChuZl9jdF9uZXQoY3QpKTsKLQly ZXR1cm4gamhhc2gyKChjb25zdCB1MzIgKikmdC0+c3JjLCBzaXplb2YodC0+c3JjKSAvIHNp emVvZih1MzIpLAotCQkgICAgICB0LT5kc3QucHJvdG9udW0gXiBzZWVkKTsKKwlyZXR1cm4g cmVjaXByb2NhbF9zY2FsZShoYXNoLCBuZl9uYXRfaHRhYmxlX3NpemUpOwogfQogCiAvKiBJ cyB0aGlzIHR1cGxlIGFscmVhZHkgdGFrZW4/IChub3QgYnkgdXMpICovCkBAIC0xODcsMjgg KzE4Nyw2IEBACiAJCXQtPnNyYy51LmFsbCA9PSB0dXBsZS0+c3JjLnUuYWxsKTsKIH0KIAot c3RhdGljIGludCBuZl9uYXRfYnlzb3VyY2VfY21wKHN0cnVjdCByaGFzaHRhYmxlX2NvbXBh cmVfYXJnICphcmcsCi0JCQkgICAgICAgY29uc3Qgdm9pZCAqb2JqKQotewotCWNvbnN0IHN0 cnVjdCBuZl9uYXRfY29ubl9rZXkgKmtleSA9IGFyZy0+a2V5OwotCWNvbnN0IHN0cnVjdCBu Zl9jb25uICpjdCA9IG9iajsKLQotCWlmICghc2FtZV9zcmMoY3QsIGtleS0+dHVwbGUpIHx8 Ci0JICAgICFuZXRfZXEobmZfY3RfbmV0KGN0KSwga2V5LT5uZXQpIHx8Ci0JICAgICFuZl9j dF96b25lX2VxdWFsKGN0LCBrZXktPnpvbmUsIElQX0NUX0RJUl9PUklHSU5BTCkpCi0JCXJl dHVybiAxOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgcmhhc2h0YWJsZV9w YXJhbXMgbmZfbmF0X2J5c291cmNlX3BhcmFtcyA9IHsKLQkuaGVhZF9vZmZzZXQgPSBvZmZz ZXRvZihzdHJ1Y3QgbmZfY29ubiwgbmF0X2J5c291cmNlKSwKLQkub2JqX2hhc2hmbiA9IG5m X25hdF9ieXNvdXJjZV9oYXNoLAotCS5vYmpfY21wZm4gPSBuZl9uYXRfYnlzb3VyY2VfY21w LAotCS5uZWxlbV9oaW50ID0gMjU2LAotCS5taW5fc2l6ZSA9IDEwMjQsCi19OwotCiAvKiBP bmx5IGNhbGxlZCBmb3IgU1JDIG1hbmlwICovCiBzdGF0aWMgaW50CiBmaW5kX2FwcHJvcHJp YXRlX3NyYyhzdHJ1Y3QgbmV0ICpuZXQsCkBAIC0yMTksMjYgKzE5NywyMiBAQAogCQkgICAg IHN0cnVjdCBuZl9jb25udHJhY2tfdHVwbGUgKnJlc3VsdCwKIAkJICAgICBjb25zdCBzdHJ1 Y3QgbmZfbmF0X3JhbmdlICpyYW5nZSkKIHsKKwl1bnNpZ25lZCBpbnQgaCA9IGhhc2hfYnlf c3JjKG5ldCwgdHVwbGUpOwogCWNvbnN0IHN0cnVjdCBuZl9jb25uICpjdDsKLQlzdHJ1Y3Qg bmZfbmF0X2Nvbm5fa2V5IGtleSA9IHsKLQkJLm5ldCA9IG5ldCwKLQkJLnR1cGxlID0gdHVw bGUsCi0JCS56b25lID0gem9uZQotCX07Ci0Jc3RydWN0IHJobGlzdF9oZWFkICpobCwgKmg7 CiAKLQlobCA9IHJobHRhYmxlX2xvb2t1cCgmbmZfbmF0X2J5c291cmNlX3RhYmxlLCAma2V5 LAotCQkJICAgICBuZl9uYXRfYnlzb3VyY2VfcGFyYW1zKTsKKwlobGlzdF9mb3JfZWFjaF9l bnRyeV9yY3UoY3QsICZuZl9uYXRfYnlzb3VyY2VbaF0sIG5hdF9ieXNvdXJjZSkgeworCQlp ZiAoc2FtZV9zcmMoY3QsIHR1cGxlKSAmJgorCQkgICAgbmV0X2VxKG5ldCwgbmZfY3RfbmV0 KGN0KSkgJiYKKwkJICAgIG5mX2N0X3pvbmVfZXF1YWwoY3QsIHpvbmUsIElQX0NUX0RJUl9P UklHSU5BTCkpIHsKKwkJCS8qIENvcHkgc291cmNlIHBhcnQgZnJvbSByZXBseSB0dXBsZS4g Ki8KKwkJCW5mX2N0X2ludmVydF90dXBsZXByKHJlc3VsdCwKKwkJCQkgICAgICAgJmN0LT50 dXBsZWhhc2hbSVBfQ1RfRElSX1JFUExZXS50dXBsZSk7CisJCQlyZXN1bHQtPmRzdCA9IHR1 cGxlLT5kc3Q7CiAKLQlyaGxfZm9yX2VhY2hfZW50cnlfcmN1KGN0LCBoLCBobCwgbmF0X2J5 c291cmNlKSB7Ci0JCW5mX2N0X2ludmVydF90dXBsZXByKHJlc3VsdCwKLQkJCQkgICAgICZj dC0+dHVwbGVoYXNoW0lQX0NUX0RJUl9SRVBMWV0udHVwbGUpOwotCQlyZXN1bHQtPmRzdCA9 IHR1cGxlLT5kc3Q7Ci0KLQkJaWYgKGluX3JhbmdlKGwzcHJvdG8sIGw0cHJvdG8sIHJlc3Vs dCwgcmFuZ2UpKQotCQkJcmV0dXJuIDE7CisJCQlpZiAoaW5fcmFuZ2UobDNwcm90bywgbDRw cm90bywgcmVzdWx0LCByYW5nZSkpCisJCQkJcmV0dXJuIDE7CisJCX0KIAl9Ci0KIAlyZXR1 cm4gMDsKIH0KIApAQCAtNDExLDYgKzM4NSw3IEBACiAJCSAgY29uc3Qgc3RydWN0IG5mX25h dF9yYW5nZSAqcmFuZ2UsCiAJCSAgZW51bSBuZl9uYXRfbWFuaXBfdHlwZSBtYW5pcHR5cGUp CiB7CisJc3RydWN0IG5ldCAqbmV0ID0gbmZfY3RfbmV0KGN0KTsKIAlzdHJ1Y3QgbmZfY29u bnRyYWNrX3R1cGxlIGN1cnJfdHVwbGUsIG5ld190dXBsZTsKIAlzdHJ1Y3QgbmZfY29ubl9u YXQgKm5hdDsKIApAQCAtNDUyLDE5ICs0MjcsMTYgQEAKIAl9CiAKIAlpZiAobWFuaXB0eXBl ID09IE5GX05BVF9NQU5JUF9TUkMpIHsKLQkJc3RydWN0IG5mX25hdF9jb25uX2tleSBrZXkg PSB7Ci0JCQkubmV0ID0gbmZfY3RfbmV0KGN0KSwKLQkJCS50dXBsZSA9ICZjdC0+dHVwbGVo YXNoW0lQX0NUX0RJUl9PUklHSU5BTF0udHVwbGUsCi0JCQkuem9uZSA9IG5mX2N0X3pvbmUo Y3QpLAotCQl9OwotCQlpbnQgZXJyOworCQl1bnNpZ25lZCBpbnQgc3JjaGFzaDsKIAotCQll cnIgPSByaGx0YWJsZV9pbnNlcnRfa2V5KCZuZl9uYXRfYnlzb3VyY2VfdGFibGUsCi0JCQkJ CSAgJmtleSwKLQkJCQkJICAmY3QtPm5hdF9ieXNvdXJjZSwKLQkJCQkJICBuZl9uYXRfYnlz b3VyY2VfcGFyYW1zKTsKLQkJaWYgKGVycikKLQkJCXJldHVybiBORl9EUk9QOworCQlzcmNo YXNoID0gaGFzaF9ieV9zcmMobmV0LAorCQkJCSAgICAgICZjdC0+dHVwbGVoYXNoW0lQX0NU X0RJUl9PUklHSU5BTF0udHVwbGUpOworCQlzcGluX2xvY2tfYmgoJm5mX25hdF9sb2NrKTsK KwkJLyogbmZfY29ubnRyYWNrX2FsdGVyX3JlcGx5IG1pZ2h0IHJlLWFsbG9jYXRlIGV4dGVu c2lvbiBhZXJhICovCisJCW5hdCA9IG5mY3RfbmF0KGN0KTsKKwkJaGxpc3RfYWRkX2hlYWRf cmN1KCZjdC0+bmF0X2J5c291cmNlLAorCQkJCSAgICZuZl9uYXRfYnlzb3VyY2Vbc3JjaGFz aF0pOworCQlzcGluX3VubG9ja19iaCgmbmZfbmF0X2xvY2spOwogCX0KIAogCS8qIEl0J3Mg ZG9uZS4gKi8KQEAgLTU1MCwxMSArNTIyLDcgQEAKIHN0YXRpYyBpbnQgbmZfbmF0X3Byb3Rv X3JlbW92ZShzdHJ1Y3QgbmZfY29ubiAqaSwgdm9pZCAqZGF0YSkKIHsKIAljb25zdCBzdHJ1 Y3QgbmZfbmF0X3Byb3RvX2NsZWFuICpjbGVhbiA9IGRhdGE7Ci0Jc3RydWN0IG5mX2Nvbm5f bmF0ICpuYXQgPSBuZmN0X25hdChpKTsKIAotCWlmICghbmF0KQotCQlyZXR1cm4gMDsKLQog CWlmICgoY2xlYW4tPmwzcHJvdG8gJiYgbmZfY3RfbDNudW0oaSkgIT0gY2xlYW4tPmwzcHJv dG8pIHx8CiAJICAgIChjbGVhbi0+bDRwcm90byAmJiBuZl9jdF9wcm90b251bShpKSAhPSBj bGVhbi0+bDRwcm90bykpCiAJCXJldHVybiAwOwpAQCAtNTY0LDEyICs1MzIsMTAgQEAKIAog c3RhdGljIGludCBuZl9uYXRfcHJvdG9fY2xlYW4oc3RydWN0IG5mX2Nvbm4gKmN0LCB2b2lk ICpkYXRhKQogewotCXN0cnVjdCBuZl9jb25uX25hdCAqbmF0ID0gbmZjdF9uYXQoY3QpOwot CiAJaWYgKG5mX25hdF9wcm90b19yZW1vdmUoY3QsIGRhdGEpKQogCQlyZXR1cm4gMTsKIAot CWlmICghbmF0KQorCWlmICgoY3QtPnN0YXR1cyAmIElQU19TUkNfTkFUX0RPTkUpID09IDAp CiAJCXJldHVybiAwOwogCiAJLyogVGhpcyBuZXRucyBpcyBiZWluZyBkZXN0cm95ZWQsIGFu ZCBjb25udHJhY2sgaGFzIG5hdCBudWxsIGJpbmRpbmcuCkBAIC01NzgsOSArNTQ0LDEwIEBA CiAJICogRWxzZSwgd2hlbiB0aGUgY29ubnRyYWNrIGlzIGRlc3RveWVkLCBuZl9uYXRfY2xl YW51cF9jb25udHJhY2soKQogCSAqIHdpbGwgZGVsZXRlIGVudHJ5IGZyb20gYWxyZWFkeS1m cmVlZCB0YWJsZS4KIAkgKi8KKwlzcGluX2xvY2tfYmgoJm5mX25hdF9sb2NrKTsKKwlobGlz dF9kZWxfcmN1KCZjdC0+bmF0X2J5c291cmNlKTsKIAljdC0+c3RhdHVzICY9IH5JUFNfTkFU X0RPTkVfTUFTSzsKLQlyaGx0YWJsZV9yZW1vdmUoJm5mX25hdF9ieXNvdXJjZV90YWJsZSwg JmN0LT5uYXRfYnlzb3VyY2UsCi0JCQluZl9uYXRfYnlzb3VyY2VfcGFyYW1zKTsKKwlzcGlu X3VubG9ja19iaCgmbmZfbmF0X2xvY2spOwogCiAJLyogZG9uJ3QgZGVsZXRlIGNvbm50cmFj ay4gIEFsdGhvdWdoIHRoYXQgd291bGQgbWFrZSB0aGluZ3MgYSBsb3QKIAkgKiBzaW1wbGVy LCB3ZSdkIGVuZCB1cCBmbHVzaGluZyBhbGwgY29ubnRyYWNrcyBvbiBuYXQgcm1tb2QuCkBA IC03MDUsMTMgKzY3MiwxMSBAQAogLyogTm8gb25lIHVzaW5nIGNvbm50cmFjayBieSB0aGUg dGltZSB0aGlzIGNhbGxlZC4gKi8KIHN0YXRpYyB2b2lkIG5mX25hdF9jbGVhbnVwX2Nvbm50 cmFjayhzdHJ1Y3QgbmZfY29ubiAqY3QpCiB7Ci0Jc3RydWN0IG5mX2Nvbm5fbmF0ICpuYXQg PSBuZl9jdF9leHRfZmluZChjdCwgTkZfQ1RfRVhUX05BVCk7Ci0KLQlpZiAoIW5hdCkKLQkJ cmV0dXJuOwotCi0JcmhsdGFibGVfcmVtb3ZlKCZuZl9uYXRfYnlzb3VyY2VfdGFibGUsICZj dC0+bmF0X2J5c291cmNlLAotCQkJbmZfbmF0X2J5c291cmNlX3BhcmFtcyk7CisJaWYgKGN0 LT5zdGF0dXMgJiBJUFNfU1JDX05BVF9ET05FKSB7CisJCXNwaW5fbG9ja19iaCgmbmZfbmF0 X2xvY2spOworCQlobGlzdF9kZWxfcmN1KCZjdC0+bmF0X2J5c291cmNlKTsKKwkJc3Bpbl91 bmxvY2tfYmgoJm5mX25hdF9sb2NrKTsKKwl9CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgbmZfY3Rf ZXh0X3R5cGUgbmF0X2V4dGVuZCBfX3JlYWRfbW9zdGx5ID0gewpAQCAtODQ2LDEzICs4MTEs MTYgQEAKIHsKIAlpbnQgcmV0OwogCi0JcmV0ID0gcmhsdGFibGVfaW5pdCgmbmZfbmF0X2J5 c291cmNlX3RhYmxlLCAmbmZfbmF0X2J5c291cmNlX3BhcmFtcyk7Ci0JaWYgKHJldCkKLQkJ cmV0dXJuIHJldDsKKwkvKiBMZWF2ZSB0aGVtIHRoZSBzYW1lIGZvciB0aGUgbW9tZW50LiAq LworCW5mX25hdF9odGFibGVfc2l6ZSA9IG5mX2Nvbm50cmFja19odGFibGVfc2l6ZTsKIAor CW5mX25hdF9ieXNvdXJjZSA9IG5mX2N0X2FsbG9jX2hhc2h0YWJsZSgmbmZfbmF0X2h0YWJs ZV9zaXplLCAwKTsKKwlpZiAoIW5mX25hdF9ieXNvdXJjZSkKKwkJcmV0dXJuIC1FTk9NRU07 CisKIAlyZXQgPSBuZl9jdF9leHRlbmRfcmVnaXN0ZXIoJm5hdF9leHRlbmQpOwogCWlmIChy ZXQgPCAwKSB7Ci0JCXJobHRhYmxlX2Rlc3Ryb3koJm5mX25hdF9ieXNvdXJjZV90YWJsZSk7 CisJCW5mX2N0X2ZyZWVfaGFzaHRhYmxlKG5mX25hdF9ieXNvdXJjZSwgbmZfbmF0X2h0YWJs ZV9zaXplKTsKIAkJcHJpbnRrKEtFUk5fRVJSICJuZl9uYXRfY29yZTogVW5hYmxlIHRvIHJl Z2lzdGVyIGV4dGVuc2lvblxuIik7CiAJCXJldHVybiByZXQ7CiAJfQpAQCAtODc2LDcgKzg0 NCw3IEBACiAJcmV0dXJuIDA7CiAKICBjbGVhbnVwX2V4dGVuZDoKLQlyaGx0YWJsZV9kZXN0 cm95KCZuZl9uYXRfYnlzb3VyY2VfdGFibGUpOworCW5mX2N0X2ZyZWVfaGFzaHRhYmxlKG5m X25hdF9ieXNvdXJjZSwgbmZfbmF0X2h0YWJsZV9zaXplKTsKIAluZl9jdF9leHRlbmRfdW5y ZWdpc3RlcigmbmF0X2V4dGVuZCk7CiAJcmV0dXJuIHJldDsKIH0KQEAgLTg5Niw4ICs4NjQs OCBAQAogCiAJZm9yIChpID0gMDsgaSA8IE5GUFJPVE9fTlVNUFJPVE87IGkrKykKIAkJa2Zy ZWUobmZfbmF0X2w0cHJvdG9zW2ldKTsKLQotCXJobHRhYmxlX2Rlc3Ryb3koJm5mX25hdF9i eXNvdXJjZV90YWJsZSk7CisJc3luY2hyb25pemVfbmV0KCk7CisJbmZfY3RfZnJlZV9oYXNo dGFibGUobmZfbmF0X2J5c291cmNlLCBuZl9uYXRfaHRhYmxlX3NpemUpOwogfQogCiBNT0RV TEVfTElDRU5TRSgiR1BMIik7CkluZGV4OiBuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19j b3JlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfY29y ZS5jCShyZXZpc2lvbiAzMzcxOSkKKysrIG5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2Nv cmUuYwkod29ya2luZyBjb3B5KQpAQCAtNjk4LDcgKzY5OCw3IEBACiAKIAlsNHByb3RvID0g X19uZl9jdF9sNHByb3RvX2ZpbmQobmZfY3RfbDNudW0oY3QpLCBuZl9jdF9wcm90b251bShj dCkpOwogCWlmIChsNHByb3RvLT5hbGxvd19jbGFzaCAmJgotCSAgICAhbmZjdF9uYXQoY3Qp ICYmCisJICAgICgoY3QtPnN0YXR1cyAmIElQU19OQVRfRE9ORV9NQVNLKSA9PSAwKSAmJgog CSAgICAhbmZfY3RfaXNfZHlpbmcoY3QpICYmCiAJICAgIGF0b21pY19pbmNfbm90X3plcm8o JmN0LT5jdF9nZW5lcmFsLnVzZSkpIHsKIAkJbmZfY3RfYWNjdF9tZXJnZShjdCwgY3RpbmZv LCAoc3RydWN0IG5mX2Nvbm4gKilza2ItPm5mY3QpOwo= --------------7563E8A733DD824D6E7E2A69--