From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 120077 invoked by alias); 10 Nov 2015 08:25:23 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 120062 invoked by uid 89); 10 Nov 2015 08:25:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-vk0-f43.google.com Received: from mail-vk0-f43.google.com (HELO mail-vk0-f43.google.com) (209.85.213.43) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 10 Nov 2015 08:25:19 +0000 Received: by vkas68 with SMTP id s68so8252545vka.3 for ; Tue, 10 Nov 2015 00:25:17 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.31.173.136 with SMTP id w130mr1300246vke.19.1447143917064; Tue, 10 Nov 2015 00:25:17 -0800 (PST) Received: by 10.103.45.207 with HTTP; Tue, 10 Nov 2015 00:25:16 -0800 (PST) In-Reply-To: References: <000901d116ea$19388d70$4ba9a850$@arm.com> <35546C22-9163-4D5F-A8D8-76E4F16C3B30@gmail.com> <5640BAAB.3010709@redhat.com> Date: Tue, 10 Nov 2015 08:25:00 -0000 Message-ID: Subject: Re: [PATCH PR52272]Be smart when adding iv candidates From: "Bin.Cheng" To: Bernd Schmidt Cc: Richard Biener , Bin Cheng , GCC Patches Content-Type: multipart/mixed; boundary=001a1143eb5e1e084c05242b7360 X-IsSubscribed: yes X-SW-Source: 2015-11/txt/msg01154.txt.bz2 --001a1143eb5e1e084c05242b7360 Content-Type: text/plain; charset=UTF-8 Content-length: 1183 On Tue, Nov 10, 2015 at 9:26 AM, Bin.Cheng wrote: > On Mon, Nov 9, 2015 at 11:24 PM, Bernd Schmidt wrote: >> On 11/08/2015 10:11 AM, Richard Biener wrote: >>> >>> On November 8, 2015 3:58:57 AM GMT+01:00, "Bin.Cheng" >>> wrote: >>>>> >>>>> +inline bool >>>>> +iv_common_cand_hasher::equal (const iv_common_cand *ccand1, >>>>> + const iv_common_cand *ccand2) >>>>> +{ >>>>> + return ccand1->hash == ccand2->hash >>>>> + && operand_equal_p (ccand1->base, ccand2->base, 0) >>>>> + && operand_equal_p (ccand1->step, ccand2->step, 0) >>>>> + && TYPE_PRECISION (TREE_TYPE (ccand1->base)) >>>>> + == TYPE_PRECISION (TREE_TYPE (ccand2->base)); >>>>> >>> Yes. Patch is OK then. >> >> >> Doesn't follow the formatting rules though in the quoted piece. > > Hi Bernd, > Thanks for reviewing. I haven't committed it yet, could you please > point out which quoted piece is so that I can update patch? Ah, the part quoted in review message, I was stupid and tried to find quoted part in my patch... I can see the problem now, here is the updated patch. Thanks, bin --001a1143eb5e1e084c05242b7360 Content-Type: text/plain; charset=US-ASCII; name="pr52272-20151104.txt" Content-Disposition: attachment; filename="pr52272-20151104.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_igt42xlq0 Content-length: 13551 ZGlmZiAtLWdpdCBhL2djYy90cmVlLXNzYS1sb29wLWl2b3B0cy5jIGIvZ2Nj L3RyZWUtc3NhLWxvb3AtaXZvcHRzLmMKaW5kZXggMWY5NTJhNy4uYWVjYmEx MiAxMDA2NDQKLS0tIGEvZ2NjL3RyZWUtc3NhLWxvb3AtaXZvcHRzLmMKKysr IGIvZ2NjL3RyZWUtc3NhLWxvb3AtaXZvcHRzLmMKQEAgLTI0Nyw2ICsyNDcs NDUgQEAgc3RydWN0IGl2X2NhbmQKIAkJCSAgIHNtYWxsZXIgdHlwZS4gICov CiB9OwogCisvKiBIYXNodGFibGUgZW50cnkgZm9yIGNvbW1vbiBjYW5kaWRh dGUgZGVyaXZlZCBmcm9tIGl2IHVzZXMuICAqLworc3RydWN0IGl2X2NvbW1v bl9jYW5kCit7CisgIHRyZWUgYmFzZTsKKyAgdHJlZSBzdGVwOworICAvKiBJ ViB1c2VzIGZyb20gd2hpY2ggdGhpcyBjb21tb24gY2FuZGlkYXRlIGlzIGRl cml2ZWQuICAqLworICB2ZWM8aXZfdXNlICo+IHVzZXM7CisgIGhhc2h2YWxf dCBoYXNoOworfTsKKworLyogSGFzaHRhYmxlIGhlbHBlcnMuICAqLworCitz dHJ1Y3QgaXZfY29tbW9uX2NhbmRfaGFzaGVyIDogZnJlZV9wdHJfaGFzaCA8 aXZfY29tbW9uX2NhbmQ+Cit7CisgIHN0YXRpYyBpbmxpbmUgaGFzaHZhbF90 IGhhc2ggKGNvbnN0IGl2X2NvbW1vbl9jYW5kICopOworICBzdGF0aWMgaW5s aW5lIGJvb2wgZXF1YWwgKGNvbnN0IGl2X2NvbW1vbl9jYW5kICosIGNvbnN0 IGl2X2NvbW1vbl9jYW5kICopOworfTsKKworLyogSGFzaCBmdW5jdGlvbiBm b3IgcG9zc2libGUgY29tbW9uIGNhbmRpZGF0ZXMuICAqLworCitpbmxpbmUg aGFzaHZhbF90Citpdl9jb21tb25fY2FuZF9oYXNoZXI6Omhhc2ggKGNvbnN0 IGl2X2NvbW1vbl9jYW5kICpjY2FuZCkKK3sKKyAgcmV0dXJuIGNjYW5kLT5o YXNoOworfQorCisvKiBIYXNoIHRhYmxlIGVxdWFsaXR5IGZ1bmN0aW9uIGZv ciBjb21tb24gY2FuZGlkYXRlcy4gICovCisKK2lubGluZSBib29sCitpdl9j b21tb25fY2FuZF9oYXNoZXI6OmVxdWFsIChjb25zdCBpdl9jb21tb25fY2Fu ZCAqY2NhbmQxLAorCQkJICAgICAgY29uc3QgaXZfY29tbW9uX2NhbmQgKmNj YW5kMikKK3sKKyAgcmV0dXJuIGNjYW5kMS0+aGFzaCA9PSBjY2FuZDItPmhh c2gKKwkgJiYgb3BlcmFuZF9lcXVhbF9wIChjY2FuZDEtPmJhc2UsIGNjYW5k Mi0+YmFzZSwgMCkKKwkgJiYgb3BlcmFuZF9lcXVhbF9wIChjY2FuZDEtPnN0 ZXAsIGNjYW5kMi0+c3RlcCwgMCkKKwkgJiYgVFlQRV9QUkVDSVNJT04gKFRS RUVfVFlQRSAoY2NhbmQxLT5iYXNlKSkKKwkgICAgICA9PSBUWVBFX1BSRUNJ U0lPTiAoVFJFRV9UWVBFIChjY2FuZDItPmJhc2UpKTsKK30KKwogLyogTG9v cCBpbnZhcmlhbnQgZXhwcmVzc2lvbiBoYXNodGFibGUgZW50cnkuICAqLwog c3RydWN0IGl2X2ludl9leHByX2VudAogewpAQCAtMjU1LDggKzI5NCw2IEBA IHN0cnVjdCBpdl9pbnZfZXhwcl9lbnQKICAgaGFzaHZhbF90IGhhc2g7CiB9 OwogCi0vKiBUaGUgZGF0YSB1c2VkIGJ5IHRoZSBpbmR1Y3Rpb24gdmFyaWFi bGUgb3B0aW1pemF0aW9ucy4gICovCi0KIC8qIEhhc2h0YWJsZSBoZWxwZXJz LiAgKi8KIAogc3RydWN0IGl2X2ludl9leHByX2hhc2hlciA6IGZyZWVfcHRy X2hhc2ggPGl2X2ludl9leHByX2VudD4KQEAgLTMyMyw2ICszNjAsMTIgQEAg c3RydWN0IGl2b3B0c19kYXRhCiAgIC8qIENhY2hlIHVzZWQgYnkgdHJlZV90 b19hZmZfY29tYmluYXRpb25fZXhwYW5kLiAgKi8KICAgaGFzaF9tYXA8dHJl ZSwgbmFtZV9leHBhbnNpb24gKj4gKm5hbWVfZXhwYW5zaW9uX2NhY2hlOwog CisgIC8qIFRoZSBoYXNodGFibGUgb2YgY29tbW9uIGNhbmRpZGF0ZXMgZGVy aXZlZCBmcm9tIGl2IHVzZXMuICAqLworICBoYXNoX3RhYmxlPGl2X2NvbW1v bl9jYW5kX2hhc2hlcj4gKml2X2NvbW1vbl9jYW5kX3RhYjsKKworICAvKiBU aGUgY29tbW9uIGNhbmRpZGF0ZXMuICAqLworICB2ZWM8aXZfY29tbW9uX2Nh bmQgKj4gaXZfY29tbW9uX2NhbmRzOworCiAgIC8qIFRoZSBtYXhpbXVtIGlu dmFyaWFudCBpZC4gICovCiAgIHVuc2lnbmVkIG1heF9pbnZfaWQ7CiAKQEAg LTg5NCw2ICs5MzcsOCBAQCB0cmVlX3NzYV9pdl9vcHRpbWl6ZV9pbml0IChz dHJ1Y3QgaXZvcHRzX2RhdGEgKmRhdGEpCiAgIGRhdGEtPmludl9leHByX3Rh YiA9IG5ldyBoYXNoX3RhYmxlPGl2X2ludl9leHByX2hhc2hlcj4gKDEwKTsK ICAgZGF0YS0+aW52X2V4cHJfaWQgPSAwOwogICBkYXRhLT5uYW1lX2V4cGFu c2lvbl9jYWNoZSA9IE5VTEw7CisgIGRhdGEtPml2X2NvbW1vbl9jYW5kX3Rh YiA9IG5ldyBoYXNoX3RhYmxlPGl2X2NvbW1vbl9jYW5kX2hhc2hlcj4gKDEw KTsKKyAgZGF0YS0+aXZfY29tbW9uX2NhbmRzLmNyZWF0ZSAoMjApOwogICBk ZWNsX3J0bF90b19yZXNldC5jcmVhdGUgKDIwKTsKICAgZ2NjX29ic3RhY2tf aW5pdCAoJmRhdGEtPml2X29ic3RhY2spOwogfQpAQCAtMzA1MSw2ICszMDk2 LDk2IEBAIGFkZF9pdl9jYW5kaWRhdGVfZm9yX2JpdnMgKHN0cnVjdCBpdm9w dHNfZGF0YSAqZGF0YSkKICAgICB9CiB9CiAKKy8qIFJlY29yZCBjb21tb24g Y2FuZGlkYXRlIHtCQVNFLCBTVEVQfSBkZXJpdmVkIGZyb20gVVNFIGluIGhh c2h0YWJsZS4gICovCisKK3N0YXRpYyB2b2lkCityZWNvcmRfY29tbW9uX2Nh bmQgKHN0cnVjdCBpdm9wdHNfZGF0YSAqZGF0YSwgdHJlZSBiYXNlLAorCQkg ICAgdHJlZSBzdGVwLCBzdHJ1Y3QgaXZfdXNlICp1c2UpCit7CisgIHN0cnVj dCBpdl9jb21tb25fY2FuZCBlbnQ7CisgIHN0cnVjdCBpdl9jb21tb25fY2Fu ZCAqKnNsb3Q7CisKKyAgZ2NjX2Fzc2VydCAodXNlICE9IE5VTEwpOworCisg IGVudC5iYXNlID0gYmFzZTsKKyAgZW50LnN0ZXAgPSBzdGVwOworICBlbnQu aGFzaCA9IGl0ZXJhdGl2ZV9oYXNoX2V4cHIgKGJhc2UsIDApOworICBlbnQu aGFzaCA9IGl0ZXJhdGl2ZV9oYXNoX2V4cHIgKHN0ZXAsIGVudC5oYXNoKTsK KworICBzbG90ID0gZGF0YS0+aXZfY29tbW9uX2NhbmRfdGFiLT5maW5kX3Ns b3QgKCZlbnQsIElOU0VSVCk7CisgIGlmICgqc2xvdCA9PSBOVUxMKQorICAg IHsKKyAgICAgICpzbG90ID0gWE5FVyAoc3RydWN0IGl2X2NvbW1vbl9jYW5k KTsKKyAgICAgICgqc2xvdCktPmJhc2UgPSBiYXNlOworICAgICAgKCpzbG90 KS0+c3RlcCA9IHN0ZXA7CisgICAgICAoKnNsb3QpLT51c2VzLmNyZWF0ZSAo OCk7CisgICAgICAoKnNsb3QpLT5oYXNoID0gZW50Lmhhc2g7CisgICAgICBk YXRhLT5pdl9jb21tb25fY2FuZHMuc2FmZV9wdXNoICgoKnNsb3QpKTsKKyAg ICB9CisgICgqc2xvdCktPnVzZXMuc2FmZV9wdXNoICh1c2UpOworICByZXR1 cm47Cit9CisKKy8qIENvbXBhcmlzb24gZnVuY3Rpb24gdXNlZCB0byBzb3J0 IGNvbW1vbiBjYW5kaWRhdGVzLiAgKi8KKworc3RhdGljIGludAorY29tbW9u X2NhbmRfY21wIChjb25zdCB2b2lkICpwMSwgY29uc3Qgdm9pZCAqcDIpCit7 CisgIHVuc2lnbmVkIG4xLCBuMjsKKyAgY29uc3Qgc3RydWN0IGl2X2NvbW1v bl9jYW5kICpjb25zdCAqY29uc3QgY2NhbmQxCisgICAgPSAoY29uc3Qgc3Ry dWN0IGl2X2NvbW1vbl9jYW5kICpjb25zdCAqKXAxOworICBjb25zdCBzdHJ1 Y3QgaXZfY29tbW9uX2NhbmQgKmNvbnN0ICpjb25zdCBjY2FuZDIKKyAgICA9 IChjb25zdCBzdHJ1Y3QgaXZfY29tbW9uX2NhbmQgKmNvbnN0ICopcDI7CisK KyAgbjEgPSAoKmNjYW5kMSktPnVzZXMubGVuZ3RoICgpOworICBuMiA9ICgq Y2NhbmQyKS0+dXNlcy5sZW5ndGggKCk7CisgIHJldHVybiBuMiAtIG4xOwor fQorCisvKiBBZGRzIElWIGNhbmRpZGF0ZXMgYmFzZWQgb24gY29tbW9uIGNh bmRpZGF0ZWQgcmVjb3JkZWQuICAqLworCitzdGF0aWMgdm9pZAorYWRkX2l2 X2NhbmRpZGF0ZV9kZXJpdmVkX2Zyb21fdXNlcyAoc3RydWN0IGl2b3B0c19k YXRhICpkYXRhKQoreworICB1bnNpZ25lZCBpLCBqOworICBzdHJ1Y3QgaXZf Y2FuZCAqY2FuZF8xLCAqY2FuZF8yOworCisgIGRhdGEtPml2X2NvbW1vbl9j YW5kcy5xc29ydCAoY29tbW9uX2NhbmRfY21wKTsKKyAgZm9yIChpID0gMDsg aSA8IGRhdGEtPml2X2NvbW1vbl9jYW5kcy5sZW5ndGggKCk7IGkrKykKKyAg ICB7CisgICAgICBzdHJ1Y3QgaXZfY29tbW9uX2NhbmQgKnB0ciA9IGRhdGEt Pml2X2NvbW1vbl9jYW5kc1tpXTsKKworICAgICAgLyogT25seSBhZGQgSVYg Y2FuZGlkYXRlIGlmIGl0J3MgZGVyaXZlZCBmcm9tIG11bHRpcGxlIHVzZXMu ICAqLworICAgICAgaWYgKHB0ci0+dXNlcy5sZW5ndGggKCkgPD0gMSkKKwli cmVhazsKKworICAgICAgY2FuZF8xID0gTlVMTDsKKyAgICAgIGNhbmRfMiA9 IE5VTEw7CisgICAgICBpZiAoaXBfbm9ybWFsX3BvcyAoZGF0YS0+Y3VycmVu dF9sb29wKSkKKwljYW5kXzEgPSBhZGRfY2FuZGlkYXRlXzEgKGRhdGEsIHB0 ci0+YmFzZSwgcHRyLT5zdGVwLAorCQkJCSAgZmFsc2UsIElQX05PUk1BTCwg TlVMTCwgTlVMTCk7CisKKyAgICAgIGlmIChpcF9lbmRfcG9zIChkYXRhLT5j dXJyZW50X2xvb3ApCisJICAmJiBhbGxvd19pcF9lbmRfcG9zX3AgKGRhdGEt PmN1cnJlbnRfbG9vcCkpCisJY2FuZF8yID0gYWRkX2NhbmRpZGF0ZV8xIChk YXRhLCBwdHItPmJhc2UsIHB0ci0+c3RlcCwKKwkJCQkgIGZhbHNlLCBJUF9F TkQsIE5VTEwsIE5VTEwpOworCisgICAgICAvKiBCaW5kIGRlcml2aW5nIHVz ZXMgYW5kIHRoZSBuZXcgY2FuZGlkYXRlcy4gICovCisgICAgICBmb3IgKGog PSAwOyBqIDwgcHRyLT51c2VzLmxlbmd0aCAoKTsgaisrKQorCXsKKwkgIHN0 cnVjdCBpdl91c2UgKnVzZSA9IHB0ci0+dXNlc1tqXTsKKwkgIGlmIChjYW5k XzEpCisJICAgIGJpdG1hcF9zZXRfYml0ICh1c2UtPnJlbGF0ZWRfY2FuZHMs IGNhbmRfMS0+aWQpOworCSAgaWYgKGNhbmRfMikKKwkgICAgYml0bWFwX3Nl dF9iaXQgKHVzZS0+cmVsYXRlZF9jYW5kcywgY2FuZF8yLT5pZCk7CisJfQor ICAgIH0KKworICAvKiBSZWxlYXNlIGRhdGEgc2luY2UgaXQgaXMgdXNlbGVz cyBmcm9tIHRoaXMgcG9pbnQuICAqLworICBkYXRhLT5pdl9jb21tb25fY2Fu ZF90YWItPmVtcHR5ICgpOworICBkYXRhLT5pdl9jb21tb25fY2FuZHMudHJ1 bmNhdGUgKDApOworfQorCiAvKiBBZGRzIGNhbmRpZGF0ZXMgYmFzZWQgb24g dGhlIHZhbHVlIG9mIFVTRSdzIGl2LiAgKi8KIAogc3RhdGljIHZvaWQKQEAg LTMwNjMsMTkgKzMxOTgsNTkgQEAgYWRkX2l2X2NhbmRpZGF0ZV9mb3JfdXNl IChzdHJ1Y3QgaXZvcHRzX2RhdGEgKmRhdGEsIHN0cnVjdCBpdl91c2UgKnVz ZSkKIAogICBhZGRfY2FuZGlkYXRlIChkYXRhLCBpdi0+YmFzZSwgaXYtPnN0 ZXAsIGZhbHNlLCB1c2UpOwogCi0gIC8qIFRoZSBzYW1lLCBidXQgd2l0aCBp bml0aWFsIHZhbHVlIHplcm8uICBNYWtlIHN1Y2ggdmFyaWFibGUgaW1wb3J0 YW50LAotICAgICBzaW5jZSBpdCBpcyBnZW5lcmljIGVub3VnaCBzbyB0aGF0 IHBvc3NpYmx5IG1hbnkgdXNlcyBtYXkgYmUgYmFzZWQKLSAgICAgb24gaXQu ICAqLworICAvKiBSZWNvcmQgY29tbW9uIGNhbmRpZGF0ZSBmb3IgdXNlIGlu IGNhc2UgaXQgY2FuIGJlIHNoYXJlZCBieSBvdGhlcnMuICAqLworICByZWNv cmRfY29tbW9uX2NhbmQgKGRhdGEsIGl2LT5iYXNlLCBpdi0+c3RlcCwgdXNl KTsKKworICAvKiBSZWNvcmQgY29tbW9uIGNhbmRpZGF0ZSB3aXRoIGluaXRp YWwgdmFsdWUgemVyby4gICovCiAgIGJhc2V0eXBlID0gVFJFRV9UWVBFIChp di0+YmFzZSk7CiAgIGlmIChQT0lOVEVSX1RZUEVfUCAoYmFzZXR5cGUpKQog ICAgIGJhc2V0eXBlID0gc2l6ZXR5cGU7Ci0gIGFkZF9jYW5kaWRhdGUgKGRh dGEsIGJ1aWxkX2ludF9jc3QgKGJhc2V0eXBlLCAwKSwgaXYtPnN0ZXAsIHRy dWUsIHVzZSk7CisgIHJlY29yZF9jb21tb25fY2FuZCAoZGF0YSwgYnVpbGRf aW50X2NzdCAoYmFzZXR5cGUsIDApLCBpdi0+c3RlcCwgdXNlKTsKKworICAv KiBSZWNvcmQgY29tbW9uIGNhbmRpZGF0ZSB3aXRoIGNvbnN0YW50IG9mZnNl dCBzdHJpcHBlZCBpbiBiYXNlLiAgKi8KKyAgICB7CisgICAgICBiYXNlID0g c3RyaXBfb2Zmc2V0IChpdi0+YmFzZSwgJm9mZnNldCk7CisgICAgICBpZiAo b2Zmc2V0IHx8IGJhc2UgIT0gaXYtPmJhc2UpCisJcmVjb3JkX2NvbW1vbl9j YW5kIChkYXRhLCBiYXNlLCBpdi0+c3RlcCwgdXNlKTsKKyAgICB9CisKKyAg LyogUmVjb3JkIGNvbW1vbiBjYW5kaWRhdGUgd2l0aCBiYXNlX29iamVjdCBy ZW1vdmVkIGluIGJhc2UuICAqLworICBpZiAoaXYtPmJhc2Vfb2JqZWN0ICE9 IE5VTEwpCisgICAgeworICAgICAgdW5zaWduZWQgaTsKKyAgICAgIGFmZl90 cmVlIGFmZl9iYXNlOworICAgICAgdHJlZSBzdGVwLCBiYXNlX29iamVjdCA9 IGl2LT5iYXNlX29iamVjdDsKIAotICAvKiBUaGlyZCwgdHJ5IHJlbW92aW5n IHRoZSBjb25zdGFudCBvZmZzZXQuICBNYWtlIHN1cmUgdG8gZXZlbgotICAg ICBhZGQgYSBjYW5kaWRhdGUgZm9yICZhWzBdIHZzLiAoVCAqKSZhLiAgKi8K LSAgYmFzZSA9IHN0cmlwX29mZnNldCAoaXYtPmJhc2UsICZvZmZzZXQpOwot ICBpZiAob2Zmc2V0IHx8IGJhc2UgIT0gaXYtPmJhc2UpCi0gICAgYWRkX2Nh bmRpZGF0ZSAoZGF0YSwgYmFzZSwgaXYtPnN0ZXAsIGZhbHNlLCB1c2UpOwor ICAgICAgYmFzZSA9IGl2LT5iYXNlOworICAgICAgc3RlcCA9IGl2LT5zdGVw OworICAgICAgU1RSSVBfTk9QUyAoYmFzZSk7CisgICAgICBTVFJJUF9OT1BT IChzdGVwKTsKKyAgICAgIFNUUklQX05PUFMgKGJhc2Vfb2JqZWN0KTsKKyAg ICAgIHRyZWVfdG9fYWZmX2NvbWJpbmF0aW9uIChiYXNlLCBUUkVFX1RZUEUg KGJhc2UpLCAmYWZmX2Jhc2UpOworICAgICAgZm9yIChpID0gMDsgaSA8IGFm Zl9iYXNlLm47IGkrKykKKwl7CisJICBpZiAoYWZmX2Jhc2UuZWx0c1tpXS5j b2VmICE9IDEpCisJICAgIGNvbnRpbnVlOworCisJICBpZiAob3BlcmFuZF9l cXVhbF9wIChhZmZfYmFzZS5lbHRzW2ldLnZhbCwgYmFzZV9vYmplY3QsIDAp KQorCSAgICBicmVhazsKKwl9CisgICAgICBpZiAoaSA8IGFmZl9iYXNlLm4p CisJeworCSAgYWZmX2NvbWJpbmF0aW9uX3JlbW92ZV9lbHQgKCZhZmZfYmFz ZSwgaSk7CisJICBiYXNlID0gYWZmX2NvbWJpbmF0aW9uX3RvX3RyZWUgKCZh ZmZfYmFzZSk7CisJICBiYXNldHlwZSA9IFRSRUVfVFlQRSAoYmFzZSk7CisJ ICBpZiAoUE9JTlRFUl9UWVBFX1AgKGJhc2V0eXBlKSkKKwkgICAgYmFzZXR5 cGUgPSBzaXpldHlwZTsKKworCSAgc3RlcCA9IGZvbGRfY29udmVydCAoYmFz ZXR5cGUsIHN0ZXApOworCSAgcmVjb3JkX2NvbW1vbl9jYW5kIChkYXRhLCBi YXNlLCBzdGVwLCB1c2UpOworCSAgLyogQWxzbyByZWNvcmQgY29tbW9uIGNh bmRpZGF0ZSB3aXRoIG9mZnNldCBzdHJpcHBlZC4gICovCisJICBiYXNlID0g c3RyaXBfb2Zmc2V0IChiYXNlLCAmb2Zmc2V0KTsKKwkgIGlmIChvZmZzZXQp CisJICAgIHJlY29yZF9jb21tb25fY2FuZCAoZGF0YSwgYmFzZSwgc3RlcCwg dXNlKTsKKwl9CisgICAgfQogCiAgIC8qIEF0IGxhc3QsIGFkZCBhdXRvLWlu Y3JlbWVudGFsIGNhbmRpZGF0ZXMuICBNYWtlIHN1Y2ggdmFyaWFibGVzCiAg ICAgIGltcG9ydGFudCBzaW5jZSBvdGhlciBpdiB1c2VzIHdpdGggc2FtZSBi YXNlIG9iamVjdCBtYXkgYmUgYmFzZWQKQEAgLTMxMTEsMTAgKzMyODYsMTAg QEAgYWRkX2l2X2NhbmRpZGF0ZV9mb3JfdXNlcyAoc3RydWN0IGl2b3B0c19k YXRhICpkYXRhKQogCSAgZ2NjX3VucmVhY2hhYmxlICgpOwogCX0KICAgICB9 CisgIGFkZF9pdl9jYW5kaWRhdGVfZGVyaXZlZF9mcm9tX3VzZXMgKGRhdGEp OwogfQogCi0vKiBSZWNvcmQgaW1wb3J0YW50IGNhbmRpZGF0ZXMgYW5kIGFk ZCB0aGVtIHRvIHJlbGF0ZWRfY2FuZHMgYml0bWFwcwotICAgaWYgbmVlZGVk LiAgKi8KKy8qIFJlY29yZCBpbXBvcnRhbnQgY2FuZGlkYXRlcyBhbmQgYWRk IHRoZW0gdG8gcmVsYXRlZF9jYW5kcyBiaXRtYXBzLiAgKi8KIAogc3RhdGlj IHZvaWQKIHJlY29yZF9pbXBvcnRhbnRfY2FuZGlkYXRlcyAoc3RydWN0IGl2 b3B0c19kYXRhICpkYXRhKQpAQCAtMzEzMywyMiArMzMwOCwxMSBAQCByZWNv cmRfaW1wb3J0YW50X2NhbmRpZGF0ZXMgKHN0cnVjdCBpdm9wdHNfZGF0YSAq ZGF0YSkKICAgZGF0YS0+Y29uc2lkZXJfYWxsX2NhbmRpZGF0ZXMgPSAobl9p dl9jYW5kcyAoZGF0YSkKIAkJCQkgICA8PSBDT05TSURFUl9BTExfQ0FORElE QVRFU19CT1VORCk7CiAKLSAgaWYgKGRhdGEtPmNvbnNpZGVyX2FsbF9jYW5k aWRhdGVzKQotICAgIHsKLSAgICAgIC8qIFdlIHdpbGwgbm90IG5lZWQgInJl bGF0ZWRfY2FuZHMiIGJpdG1hcHMgaW4gdGhpcyBjYXNlLAotCSBzbyByZWxl YXNlIHRoZW0gdG8gZGVjcmVhc2UgcGVhayBtZW1vcnkgY29uc3VtcHRpb24u ICAqLwotICAgICAgZm9yIChpID0gMDsgaSA8IG5faXZfdXNlcyAoZGF0YSk7 IGkrKykKLQl7Ci0JICB1c2UgPSBpdl91c2UgKGRhdGEsIGkpOwotCSAgQklU TUFQX0ZSRUUgKHVzZS0+cmVsYXRlZF9jYW5kcyk7Ci0JfQotICAgIH0KLSAg ZWxzZQorICAvKiBBZGQgaW1wb3J0YW50IGNhbmRpZGF0ZXMgdG8gdXNlcycg cmVsYXRlZF9jYW5kcyBiaXRtYXBzLiAgKi8KKyAgZm9yIChpID0gMDsgaSA8 IG5faXZfdXNlcyAoZGF0YSk7IGkrKykKICAgICB7Ci0gICAgICAvKiBBZGQg aW1wb3J0YW50IGNhbmRpZGF0ZXMgdG8gdGhlIHJlbGF0ZWRfY2FuZHMgYml0 bWFwcy4gICovCi0gICAgICBmb3IgKGkgPSAwOyBpIDwgbl9pdl91c2VzIChk YXRhKTsgaSsrKQotCWJpdG1hcF9pb3JfaW50byAoaXZfdXNlIChkYXRhLCBp KS0+cmVsYXRlZF9jYW5kcywKLQkJCSBkYXRhLT5pbXBvcnRhbnRfY2FuZGlk YXRlcyk7CisgICAgICB1c2UgPSBpdl91c2UgKGRhdGEsIGkpOworICAgICAg Yml0bWFwX2lvcl9pbnRvICh1c2UtPnJlbGF0ZWRfY2FuZHMsIGRhdGEtPmlt cG9ydGFudF9jYW5kaWRhdGVzKTsKICAgICB9CiB9CiAKQEAgLTY1MTksNyAr NjY4Myw3IEBAIHRyeV9hZGRfY2FuZF9mb3IgKHN0cnVjdCBpdm9wdHNfZGF0 YSAqZGF0YSwgc3RydWN0IGl2X2NhICppdnMsCiAgICAgIHRvbyBtYW55IGl2 cy4gIFRoZSBhcHByb2FjaCBmcm9tIGZldyBpdnMgdG8gbW9yZSBzZWVtcyBt b3JlIGxpa2VseSB0byBiZQogICAgICBzdWNjZXNzZnVsIC0tIHN0YXJ0aW5n IGZyb20gZmV3IGl2cywgcmVwbGFjaW5nIGFuIGV4cGVuc2l2ZSB1c2UgYnkg YQogICAgICBzcGVjaWZpYyBpdiBzaG91bGQgYWx3YXlzIGJlIGEgd2luLiAg Ki8KLSAgRVhFQ1VURV9JRl9TRVRfSU5fQklUTUFQIChkYXRhLT5pbXBvcnRh bnRfY2FuZGlkYXRlcywgMCwgaSwgYmkpCisgIEVYRUNVVEVfSUZfU0VUX0lO X0JJVE1BUCAodXNlLT5yZWxhdGVkX2NhbmRzLCAwLCBpLCBiaSkKICAgICB7 CiAgICAgICBjYW5kID0gaXZfY2FuZCAoZGF0YSwgaSk7CiAKQEAgLTc0Mjgs NiArNzU5Miw5IEBAIGZyZWVfbG9vcF9kYXRhIChzdHJ1Y3QgaXZvcHRzX2Rh dGEgKmRhdGEpCiAKICAgZGF0YS0+aW52X2V4cHJfdGFiLT5lbXB0eSAoKTsK ICAgZGF0YS0+aW52X2V4cHJfaWQgPSAwOworCisgIGRhdGEtPml2X2NvbW1v bl9jYW5kX3RhYi0+ZW1wdHkgKCk7CisgIGRhdGEtPml2X2NvbW1vbl9jYW5k cy50cnVuY2F0ZSAoMCk7CiB9CiAKIC8qIEZpbmFsaXplcyBkYXRhIHN0cnVj dHVyZXMgdXNlZCBieSB0aGUgaXYgb3B0aW1pemF0aW9uIHBhc3MuICBMT09Q UyBpcyB0aGUKQEAgLTc0NDcsNiArNzYxNCw5IEBAIHRyZWVfc3NhX2l2X29w dGltaXplX2ZpbmFsaXplIChzdHJ1Y3QgaXZvcHRzX2RhdGEgKmRhdGEpCiAg IGRlbGV0ZSBkYXRhLT5pbnZfZXhwcl90YWI7CiAgIGRhdGEtPmludl9leHBy X3RhYiA9IE5VTEw7CiAgIGZyZWVfYWZmaW5lX2V4cGFuZF9jYWNoZSAoJmRh dGEtPm5hbWVfZXhwYW5zaW9uX2NhY2hlKTsKKyAgZGVsZXRlIGRhdGEtPml2 X2NvbW1vbl9jYW5kX3RhYjsKKyAgZGF0YS0+aXZfY29tbW9uX2NhbmRfdGFi ID0gTlVMTDsKKyAgZGF0YS0+aXZfY29tbW9uX2NhbmRzLnJlbGVhc2UgKCk7 CiAgIG9ic3RhY2tfZnJlZSAoJmRhdGEtPml2X29ic3RhY2ssIE5VTEwpOwog fQogCg== --001a1143eb5e1e084c05242b7360--