Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lj3Wd-0004k8-CM for pgsql-hackers@arkaria.postgresql.org; Tue, 18 May 2021 17:28:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lj3Wc-00084t-4D for pgsql-hackers@arkaria.postgresql.org; Tue, 18 May 2021 17:28:58 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lj3Wb-00083q-OT for pgsql-hackers@lists.postgresql.org; Tue, 18 May 2021 17:28:57 +0000 Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lj3WZ-0000jM-2r for pgsql-hackers@lists.postgresql.org; Tue, 18 May 2021 17:28:57 +0000 Received: by mail-ej1-x629.google.com with SMTP id l1so15820400ejb.6 for ; Tue, 18 May 2021 10:28:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SGhWZ7Z6zX/z4am4MKSCUc7LlwlEuupYOEp/gEsucAA=; b=fMcWKyI//BRdTLEl8VmeIxwVydAxjOpTaXjbs1q/Q6z4qZ3dpkGxEFY8/XYf1Jw35r sE6nnvgG/5+ESV8DyNW+95qmzV1wd3G9RNbsEHxwyXQODVEidnrgQ1VAO0dNt/ouMc8Z xBzWX0hGIOvpFg3+MIoQZ8f4Y183Ft/63baezxI9cxiLIXYBgLwOP16L7Gaz/sSxppUi +kyNnygCBmvSbOcls/vrN/bR057T7O9JEFvshwxTxhnYXfEvzdZJRmam7Lbc55Hx/GmS C9ttB0/9Pi9lPaioIMegK7ORGRaSskyvJBuIg1aLNeqkNk3bBg5vhJSsIrZK4bLLpDHO GYXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SGhWZ7Z6zX/z4am4MKSCUc7LlwlEuupYOEp/gEsucAA=; b=F3aWI6lj7kxdItDHtZC7AKzaX1kRAFm6qNtssda4cWM7PPIEA1xfZOFttUrgUUPZLv jYS1+9u8N2Ahzqdybd+t1JQzDit259BRFXFFNqPkyD5HjeoVaQdNW9OkoAs/clpw57l4 Wnwfdcdo2wdzouQEz8Egd4cWffSqkoO6PY/KxJ/1156e1jLoTVNdw8fyRo1k9GgZpnwG PSUjYz4cg/yqcC5UYV7NC9ndMuqhmZAJnSbYDSTpcIrCsA8xJkxnD2hpL2zZ70liX1Qu YNWvp6oJ+dgf1ir5yN0kVjf6rKuAySuzXJOsSU9hQskdNphr79I/fl9L+tv4lV6xY88o VW1A== X-Gm-Message-State: AOAM531fGzx1i8cr+GAMgAcXL9ePf132tFnRlpVtX/m1Ivj4jRRWmrLF GSnDO59oLkB8wgpC9CYNDWWqlCo+9x93M5gVhls= X-Google-Smtp-Source: ABdhPJwNT+oFT8DLBLeM3Hjcx2IKfcIncHtBKKRNHX37sdoMq2vjaCdxYsbMQBynxt+sq4DDARzwq7IDFTTN9P81qeg= X-Received: by 2002:a17:906:b104:: with SMTP id u4mr7013405ejy.211.1621358933083; Tue, 18 May 2021 10:28:53 -0700 (PDT) MIME-Version: 1.0 References: <20210516170029.GB373@telsasoft.com> <20210517150310.GG373@telsasoft.com> In-Reply-To: <20210517150310.GG373@telsasoft.com> From: Nitin Jadhav Date: Tue, 18 May 2021 22:58:41 +0530 Message-ID: Subject: Re: Removed extra memory allocations from create_list_bounds To: Justin Pryzby Cc: Zhihong Yu , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="00000000000042b08b05c29e0b58" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000042b08b05c29e0b58 Content-Type: text/plain; charset="UTF-8" > The CFBOT had no issues with the patches, so I suspect an issue on your side. > http://cfbot.cputube.org/nitin-jadhav.html I am getting the following error when I try to apply in my machine. $ git apply ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch:18: trailing whitespace. /* ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch:19: trailing whitespace. * get_non_null_count_list_bounds ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch:20: trailing whitespace. * Calculates the total number of non null bound values of ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch:21: trailing whitespace. * all the partitions. ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch:22: trailing whitespace. */ error: patch failed: src/backend/partitioning/partbounds.c:432 error: src/backend/partitioning/partbounds.c: patch does not apply However I was able to apply it by adding '--reject --whitespace=fix'. $ git apply --reject --whitespace=fix ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch:18: trailing whitespace. /* ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch:19: trailing whitespace. * get_non_null_count_list_bounds ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch:20: trailing whitespace. * Calculates the total number of non null bound values of ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch:21: trailing whitespace. * all the partitions. ../patches/0001-Removed-extra-memory-allocations-from-create_list_bo.patch:22: trailing whitespace. */ Checking patch src/backend/partitioning/partbounds.c... Applied patch src/backend/partitioning/partbounds.c cleanly. warning: squelched 30 whitespace errors warning: 35 lines add whitespace errors. I have rebased all the patches on top of 'v2_0001-removed_extra_mem_alloc_from_create_list_bounds.patch'. Attaching all the patches here. -- Thanks & Regards, Nitin Jadhav On Mon, May 17, 2021 at 8:33 PM Justin Pryzby wrote: > > On Mon, May 17, 2021 at 08:22:25PM +0530, Nitin Jadhav wrote: > > I agree and thanks for creating those patches. I am not able to apply > > the patch on the latest HEAD. Kindly check and upload the modified > > patches. > > The CFBOT had no issues with the patches, so I suspect an issue on your side. > http://cfbot.cputube.org/nitin-jadhav.html > > -- > Justin --00000000000042b08b05c29e0b58 Content-Type: application/octet-stream; name="v2_0001-removed_extra_mem_alloc_from_create_list_bounds.patch" Content-Disposition: attachment; filename="v2_0001-removed_extra_mem_alloc_from_create_list_bounds.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_koub44l60 RnJvbSBlZTZhMTkxNDRjNmFhOWY2MjMzNTM5MTZkN2E1NjBkZjMxYWU0MmU2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiA8bml0aW4uamFkaGF2QGVudGVycHJpc2VkYi5jb20+ CkRhdGU6IFR1ZSwgMTggTWF5IDIwMjEgMjI6MzE6NTUgKzA1MzAKU3ViamVjdDogW1BBVENIIDEv NV0gcmVtb3ZlZF9leHRyYV9tZW1fYWxsb2NfZnJvbV9jcmVhdGVfbGlzdF9ib3VuZHMKCi0tLQog c3JjL2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3VuZHMuYyB8IDY0ICsrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwg MjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFydGl0aW9uaW5nL3Bh cnRib3VuZHMuYyBiL3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMKaW5kZXgg NzkyNWZjYy4uZTBhMDRmZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFydGl0aW9uaW5nL3Bh cnRib3VuZHMuYworKysgYi9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jCkBA IC00MzMsNiArNDMzLDMyIEBAIGNyZWF0ZV9oYXNoX2JvdW5kcyhQYXJ0aXRpb25Cb3VuZFNwZWMg Kipib3VuZHNwZWNzLCBpbnQgbnBhcnRzLAogfQogCiAvKgorICogZ2V0X25vbl9udWxsX2xpc3Rf Ym91bmRzX2NvdW50CisgKiAJCUNhbGN1bGF0ZXMgdGhlIHRvdGFsIG51bWJlciBvZiBub24gbnVs bCBib3VuZCB2YWx1ZXMgb2YKKyAqIAkJYWxsIHRoZSBwYXJ0aXRpb25zLgorICovCitzdGF0aWMg aW50CitnZXRfbm9uX251bGxfbGlzdF9ib3VuZHNfY291bnQoUGFydGl0aW9uQm91bmRTcGVjICoq Ym91bmRzcGVjcywgaW50IG5wYXJ0cykKK3sKKwlpbnQJaSA9IDA7CisJaW50IGNvdW50ID0gMDsK KworCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykKKwl7CisJCUxpc3RDZWxsICAgKmM7CisK KwkJZm9yZWFjaChjLCBib3VuZHNwZWNzW2ldLT5saXN0ZGF0dW1zKQorCQl7CisJCQlDb25zdCAg ICp2YWwgPSBjYXN0Tm9kZShDb25zdCwgbGZpcnN0KGMpKTsKKworCQkJaWYgKCF2YWwtPmNvbnN0 aXNudWxsKQorCQkJCWNvdW50Kys7CisJCX0KKwl9CisKKwlyZXR1cm4gY291bnQ7Cit9CisvKgog ICogY3JlYXRlX2xpc3RfYm91bmRzCiAgKgkJQ3JlYXRlIGEgUGFydGl0aW9uQm91bmRJbmZvIGZv ciBhIGxpc3QgcGFydGl0aW9uZWQgdGFibGUKICAqLwpAQCAtNDQyLDEzICs0NjgsMTIgQEAgY3Jl YXRlX2xpc3RfYm91bmRzKFBhcnRpdGlvbkJvdW5kU3BlYyAqKmJvdW5kc3BlY3MsIGludCBucGFy dHMsCiB7CiAJUGFydGl0aW9uQm91bmRJbmZvIGJvdW5kaW5mbzsKIAlQYXJ0aXRpb25MaXN0VmFs dWUgKiphbGxfdmFsdWVzID0gTlVMTDsKLQlMaXN0Q2VsbCAgICpjZWxsOwogCWludAkJCWkgPSAw OworCWludAkJCWogPSAwOwogCWludAkJCW5kYXR1bXMgPSAwOwogCWludAkJCW5leHRfaW5kZXgg PSAwOwogCWludAkJCWRlZmF1bHRfaW5kZXggPSAtMTsKIAlpbnQJCQludWxsX2luZGV4ID0gLTE7 Ci0JTGlzdAkgICAqbm9uX251bGxfdmFsdWVzID0gTklMOwogCiAJYm91bmRpbmZvID0gKFBhcnRp dGlvbkJvdW5kSW5mb0RhdGEgKikKIAkJcGFsbG9jMChzaXplb2YoUGFydGl0aW9uQm91bmRJbmZv RGF0YSkpOwpAQCAtNDU3LDYgKzQ4MiwxMCBAQCBjcmVhdGVfbGlzdF9ib3VuZHMoUGFydGl0aW9u Qm91bmRTcGVjICoqYm91bmRzcGVjcywgaW50IG5wYXJ0cywKIAlib3VuZGluZm8tPm51bGxfaW5k ZXggPSAtMTsKIAlib3VuZGluZm8tPmRlZmF1bHRfaW5kZXggPSAtMTsKIAorCW5kYXR1bXMgPSBn ZXRfbm9uX251bGxfbGlzdF9ib3VuZHNfY291bnQoYm91bmRzcGVjcywgbnBhcnRzKTsKKwlhbGxf dmFsdWVzID0gKFBhcnRpdGlvbkxpc3RWYWx1ZSAqKikKKwkJcGFsbG9jKG5kYXR1bXMgKiBzaXpl b2YoUGFydGl0aW9uTGlzdFZhbHVlICopKTsKKwogCS8qIENyZWF0ZSBhIHVuaWZpZWQgbGlzdCBv ZiBub24tbnVsbCB2YWx1ZXMgYWNyb3NzIGFsbCBwYXJ0aXRpb25zLiAqLwogCWZvciAoaSA9IDA7 IGkgPCBucGFydHM7IGkrKykKIAl7CkBAIC00ODAsMTQgKzUwOSwxNCBAQCBjcmVhdGVfbGlzdF9i b3VuZHMoUGFydGl0aW9uQm91bmRTcGVjICoqYm91bmRzcGVjcywgaW50IG5wYXJ0cywKIAkJZm9y ZWFjaChjLCBzcGVjLT5saXN0ZGF0dW1zKQogCQl7CiAJCQlDb25zdAkgICAqdmFsID0gY2FzdE5v ZGUoQ29uc3QsIGxmaXJzdChjKSk7Ci0JCQlQYXJ0aXRpb25MaXN0VmFsdWUgKmxpc3RfdmFsdWUg PSBOVUxMOwogCiAJCQlpZiAoIXZhbC0+Y29uc3Rpc251bGwpCiAJCQl7Ci0JCQkJbGlzdF92YWx1 ZSA9IChQYXJ0aXRpb25MaXN0VmFsdWUgKikKKwkJCQlhbGxfdmFsdWVzW2pdID0gKFBhcnRpdGlv bkxpc3RWYWx1ZSAqKQogCQkJCQlwYWxsb2MwKHNpemVvZihQYXJ0aXRpb25MaXN0VmFsdWUpKTsK LQkJCQlsaXN0X3ZhbHVlLT5pbmRleCA9IGk7Ci0JCQkJbGlzdF92YWx1ZS0+dmFsdWUgPSB2YWwt PmNvbnN0dmFsdWU7CisJCQkJYWxsX3ZhbHVlc1tqXS0+aW5kZXggPSBpOworCQkJCWFsbF92YWx1 ZXNbal0tPnZhbHVlID0gdmFsLT5jb25zdHZhbHVlOworCQkJCWorKzsKIAkJCX0KIAkJCWVsc2UK IAkJCXsKQEAgLTQ5OSwzMiArNTI4LDkgQEAgY3JlYXRlX2xpc3RfYm91bmRzKFBhcnRpdGlvbkJv dW5kU3BlYyAqKmJvdW5kc3BlY3MsIGludCBucGFydHMsCiAJCQkJCWVsb2coRVJST1IsICJmb3Vu ZCBudWxsIG1vcmUgdGhhbiBvbmNlIik7CiAJCQkJbnVsbF9pbmRleCA9IGk7CiAJCQl9Ci0KLQkJ CWlmIChsaXN0X3ZhbHVlKQotCQkJCW5vbl9udWxsX3ZhbHVlcyA9IGxhcHBlbmQobm9uX251bGxf dmFsdWVzLCBsaXN0X3ZhbHVlKTsKIAkJfQogCX0KIAotCW5kYXR1bXMgPSBsaXN0X2xlbmd0aChu b25fbnVsbF92YWx1ZXMpOwotCi0JLyoKLQkgKiBDb2xsZWN0IGFsbCBsaXN0IHZhbHVlcyBpbiBv bmUgYXJyYXkuIEFsb25nc2lkZSB0aGUgdmFsdWUsIHdlIGFsc28gc2F2ZQotCSAqIHRoZSBpbmRl eCBvZiBwYXJ0aXRpb24gdGhlIHZhbHVlIGNvbWVzIGZyb20uCi0JICovCi0JYWxsX3ZhbHVlcyA9 IChQYXJ0aXRpb25MaXN0VmFsdWUgKiopCi0JCXBhbGxvYyhuZGF0dW1zICogc2l6ZW9mKFBhcnRp dGlvbkxpc3RWYWx1ZSAqKSk7Ci0JaSA9IDA7Ci0JZm9yZWFjaChjZWxsLCBub25fbnVsbF92YWx1 ZXMpCi0JewotCQlQYXJ0aXRpb25MaXN0VmFsdWUgKnNyYyA9IGxmaXJzdChjZWxsKTsKLQotCQlh bGxfdmFsdWVzW2ldID0gKFBhcnRpdGlvbkxpc3RWYWx1ZSAqKQotCQkJcGFsbG9jKHNpemVvZihQ YXJ0aXRpb25MaXN0VmFsdWUpKTsKLQkJYWxsX3ZhbHVlc1tpXS0+dmFsdWUgPSBzcmMtPnZhbHVl OwotCQlhbGxfdmFsdWVzW2ldLT5pbmRleCA9IHNyYy0+aW5kZXg7Ci0JCWkrKzsKLQl9Ci0KIAlx c29ydF9hcmcoYWxsX3ZhbHVlcywgbmRhdHVtcywgc2l6ZW9mKFBhcnRpdGlvbkxpc3RWYWx1ZSAq KSwKIAkJCSAgcXNvcnRfcGFydGl0aW9uX2xpc3RfdmFsdWVfY21wLCAodm9pZCAqKSBrZXkpOwog Ci0tIAoxLjguMy4xCgo= --00000000000042b08b05c29e0b58 Content-Type: application/octet-stream; name="v2_0003-Same-for-create_hash_bounds-PartitionHashBound.patch" Content-Disposition: attachment; filename="v2_0003-Same-for-create_hash_bounds-PartitionHashBound.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_koub44lf2 RnJvbSA5ZDg3ODJlMDIxM2ZlYTVkNjc3YTAwYWJlNzhiZDQwNmJmYzIzMWZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiA8bml0aW4uamFkaGF2QGVudGVycHJpc2VkYi5jb20+ CkRhdGU6IFR1ZSwgMTggTWF5IDIwMjEgMjI6NDA6MDQgKzA1MzAKU3ViamVjdDogW1BBVENIIDMv NV0gU2FtZS1mb3ItY3JlYXRlX2hhc2hfYm91bmRzLVBhcnRpdGlvbkhhc2hCb3VuZAoKLS0tCiBz cmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jIHwgMjggKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDE1IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRz LmMgYi9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jCmluZGV4IGY5MWVmYmEu LjVjZjc2NzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRz LmMKKysrIGIvc3JjL2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3VuZHMuYwpAQCAtMzU4LDcg KzM1OCw3IEBAIGNyZWF0ZV9oYXNoX2JvdW5kcyhQYXJ0aXRpb25Cb3VuZFNwZWMgKipib3VuZHNw ZWNzLCBpbnQgbnBhcnRzLAogCQkJCSAgIFBhcnRpdGlvbktleSBrZXksIGludCAqKm1hcHBpbmcp CiB7CiAJUGFydGl0aW9uQm91bmRJbmZvIGJvdW5kaW5mbzsKLQlQYXJ0aXRpb25IYXNoQm91bmQg KipoYm91bmRzID0gTlVMTDsKKwlQYXJ0aXRpb25IYXNoQm91bmQgKmhib3VuZHM7CiAJaW50CQkJ aTsKIAlpbnQJCQluZGF0dW1zID0gMDsKIAlpbnQJCQlncmVhdGVzdF9tb2R1bHVzOwpAQCAtMzcx LDggKzM3MSw4IEBAIGNyZWF0ZV9oYXNoX2JvdW5kcyhQYXJ0aXRpb25Cb3VuZFNwZWMgKipib3Vu ZHNwZWNzLCBpbnQgbnBhcnRzLAogCWJvdW5kaW5mby0+ZGVmYXVsdF9pbmRleCA9IC0xOwogCiAJ bmRhdHVtcyA9IG5wYXJ0czsKLQloYm91bmRzID0gKFBhcnRpdGlvbkhhc2hCb3VuZCAqKikKLQkJ cGFsbG9jKG5wYXJ0cyAqIHNpemVvZihQYXJ0aXRpb25IYXNoQm91bmQgKikpOworCWhib3VuZHMg PSAoUGFydGl0aW9uSGFzaEJvdW5kICopCisJCXBhbGxvYyhucGFydHMgKiBzaXplb2YoUGFydGl0 aW9uSGFzaEJvdW5kKSk7CiAKIAkvKiBDb252ZXJ0IGZyb20gbm9kZSB0byB0aGUgaW50ZXJuYWwg cmVwcmVzZW50YXRpb24gKi8KIAlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspCkBAIC0zODIs MTggKzM4MiwxNyBAQCBjcmVhdGVfaGFzaF9ib3VuZHMoUGFydGl0aW9uQm91bmRTcGVjICoqYm91 bmRzcGVjcywgaW50IG5wYXJ0cywKIAkJaWYgKHNwZWMtPnN0cmF0ZWd5ICE9IFBBUlRJVElPTl9T VFJBVEVHWV9IQVNIKQogCQkJZWxvZyhFUlJPUiwgImludmFsaWQgc3RyYXRlZ3kgaW4gcGFydGl0 aW9uIGJvdW5kIHNwZWMiKTsKIAotCQloYm91bmRzW2ldID0gKFBhcnRpdGlvbkhhc2hCb3VuZCAq KSBwYWxsb2Moc2l6ZW9mKFBhcnRpdGlvbkhhc2hCb3VuZCkpOwotCQloYm91bmRzW2ldLT5tb2R1 bHVzID0gc3BlYy0+bW9kdWx1czsKLQkJaGJvdW5kc1tpXS0+cmVtYWluZGVyID0gc3BlYy0+cmVt YWluZGVyOwotCQloYm91bmRzW2ldLT5pbmRleCA9IGk7CisJCWhib3VuZHNbaV0ubW9kdWx1cyA9 IHNwZWMtPm1vZHVsdXM7CisJCWhib3VuZHNbaV0ucmVtYWluZGVyID0gc3BlYy0+cmVtYWluZGVy OworCQloYm91bmRzW2ldLmluZGV4ID0gaTsKIAl9CiAKIAkvKiBTb3J0IGFsbCB0aGUgYm91bmRz IGluIGFzY2VuZGluZyBvcmRlciAqLwotCXFzb3J0KGhib3VuZHMsIG5wYXJ0cywgc2l6ZW9mKFBh cnRpdGlvbkhhc2hCb3VuZCAqKSwKKwlxc29ydChoYm91bmRzLCBucGFydHMsIHNpemVvZihQYXJ0 aXRpb25IYXNoQm91bmQpLAogCQkgIHFzb3J0X3BhcnRpdGlvbl9oYm91bmRfY21wKTsKIAogCS8q IEFmdGVyIHNvcnRpbmcsIG1vZHVsaSBhcmUgbm93IHN0b3JlZCBpbiBhc2NlbmRpbmcgb3JkZXIu ICovCi0JZ3JlYXRlc3RfbW9kdWx1cyA9IGhib3VuZHNbbmRhdHVtcyAtIDFdLT5tb2R1bHVzOwor CWdyZWF0ZXN0X21vZHVsdXMgPSBoYm91bmRzW25kYXR1bXMgLSAxXS5tb2R1bHVzOwogCiAJYm91 bmRpbmZvLT5uZGF0dW1zID0gbmRhdHVtczsKIAlib3VuZGluZm8tPmRhdHVtcyA9IChEYXR1bSAq KikgcGFsbG9jMChuZGF0dW1zICogc2l6ZW9mKERhdHVtICopKTsKQEAgLTQwOSw4ICs0MDgsOCBA QCBjcmVhdGVfaGFzaF9ib3VuZHMoUGFydGl0aW9uQm91bmRTcGVjICoqYm91bmRzcGVjcywgaW50 IG5wYXJ0cywKIAkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspCiAJewotCQlpbnQJ CQltb2R1bHVzID0gaGJvdW5kc1tpXS0+bW9kdWx1czsKLQkJaW50CQkJcmVtYWluZGVyID0gaGJv dW5kc1tpXS0+cmVtYWluZGVyOworCQlpbnQJCQltb2R1bHVzID0gaGJvdW5kc1tpXS5tb2R1bHVz OworCQlpbnQJCQlyZW1haW5kZXIgPSBoYm91bmRzW2ldLnJlbWFpbmRlcjsKIAogCQlib3VuZGlu Zm8tPmRhdHVtc1tpXSA9IChEYXR1bSAqKSBwYWxsb2MoMiAqIHNpemVvZihEYXR1bSkpOwogCQli b3VuZGluZm8tPmRhdHVtc1tpXVswXSA9IEludDMyR2V0RGF0dW0obW9kdWx1cyk7CkBAIC00MjQs OCArNDIzLDcgQEAgY3JlYXRlX2hhc2hfYm91bmRzKFBhcnRpdGlvbkJvdW5kU3BlYyAqKmJvdW5k c3BlY3MsIGludCBucGFydHMsCiAJCQlyZW1haW5kZXIgKz0gbW9kdWx1czsKIAkJfQogCi0JCSgq bWFwcGluZylbaGJvdW5kc1tpXS0+aW5kZXhdID0gaTsKLQkJcGZyZWUoaGJvdW5kc1tpXSk7CisJ CSgqbWFwcGluZylbaGJvdW5kc1tpXS5pbmRleF0gPSBpOwogCX0KIAlwZnJlZShoYm91bmRzKTsK IApAQCAtMzY3Niw4ICszNjc0LDggQEAgcGFydGl0aW9uX2hhc2hfYnNlYXJjaChQYXJ0aXRpb25C b3VuZEluZm8gYm91bmRpbmZvLAogc3RhdGljIGludDMyCiBxc29ydF9wYXJ0aXRpb25faGJvdW5k X2NtcChjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiKQogewotCVBhcnRpdGlvbkhhc2hCb3Vu ZCAqaDEgPSAoKihQYXJ0aXRpb25IYXNoQm91bmQgKmNvbnN0ICopIGEpOwotCVBhcnRpdGlvbkhh c2hCb3VuZCAqaDIgPSAoKihQYXJ0aXRpb25IYXNoQm91bmQgKmNvbnN0ICopIGIpOworCVBhcnRp dGlvbkhhc2hCb3VuZCAqY29uc3QgaDEgPSAoUGFydGl0aW9uSGFzaEJvdW5kICpjb25zdCkgYTsK KwlQYXJ0aXRpb25IYXNoQm91bmQgKmNvbnN0IGgyID0gKFBhcnRpdGlvbkhhc2hCb3VuZCAqY29u c3QpIGI7CiAKIAlyZXR1cm4gcGFydGl0aW9uX2hib3VuZF9jbXAoaDEtPm1vZHVsdXMsIGgxLT5y ZW1haW5kZXIsCiAJCQkJCQkJCWgyLT5tb2R1bHVzLCBoMi0+cmVtYWluZGVyKTsKLS0gCjEuOC4z LjEKCg== --00000000000042b08b05c29e0b58 Content-Type: application/octet-stream; name="v2_0004-Allocate-datum-arrays-in-bulk-to-avoid-palloc-overhead.patch" Content-Disposition: attachment; filename="v2_0004-Allocate-datum-arrays-in-bulk-to-avoid-palloc-overhead.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_koub44lh3 RnJvbSA4MzhmOTdjZDFjMzZkYmJmYTA1ZjZhODEzYzU2MDQyYWNkMDEyZDViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiA8bml0aW4uamFkaGF2QGVudGVycHJpc2VkYi5jb20+ CkRhdGU6IFR1ZSwgMTggTWF5IDIwMjEgMjI6NDI6MTIgKzA1MzAKU3ViamVjdDogW1BBVENIIDQv NV0gQWxsb2NhdGUtZGF0dW0tYXJyYXlzLWluLWJ1bGstdG8tYXZvaWQtcGFsbG9jLW92ZXJoZQoK LS0tCiBzcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jIHwgMTUgKysrKysrKysr KystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jIGIvc3Jj L2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3VuZHMuYwppbmRleCA1Y2Y3NjcyLi5mMWE2OTJj IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jCisrKyBi L3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMKQEAgLTM2Miw2ICszNjIsNyBA QCBjcmVhdGVfaGFzaF9ib3VuZHMoUGFydGl0aW9uQm91bmRTcGVjICoqYm91bmRzcGVjcywgaW50 IG5wYXJ0cywKIAlpbnQJCQlpOwogCWludAkJCW5kYXR1bXMgPSAwOwogCWludAkJCWdyZWF0ZXN0 X21vZHVsdXM7CisJRGF0dW0JCSpkYXR1bXB0cjsKIAogCWJvdW5kaW5mbyA9IChQYXJ0aXRpb25C b3VuZEluZm9EYXRhICopCiAJCXBhbGxvYzAoc2l6ZW9mKFBhcnRpdGlvbkJvdW5kSW5mb0RhdGEp KTsKQEAgLTQwNiwxMiArNDA3LDE0IEBAIGNyZWF0ZV9oYXNoX2JvdW5kcyhQYXJ0aXRpb25Cb3Vu ZFNwZWMgKipib3VuZHNwZWNzLCBpbnQgbnBhcnRzLAogCSAqIHBhaXJzKSBhcyB0aGVyZSBhcmUg cGFydGl0aW9ucy4gIEluZGV4ZXMgYXJlIHNpbXBseSB2YWx1ZXMgcmFuZ2luZyBmcm9tCiAJICog MCB0byAobnBhcnRzIC0gMSkuCiAJICovCisJZGF0dW1wdHIgPSAoRGF0dW0gKikgcGFsbG9jMChu ZGF0dW1zICogMiAqIHNpemVvZihEYXR1bSkpOwogCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkr KykKIAl7CiAJCWludAkJCW1vZHVsdXMgPSBoYm91bmRzW2ldLm1vZHVsdXM7CiAJCWludAkJCXJl bWFpbmRlciA9IGhib3VuZHNbaV0ucmVtYWluZGVyOwogCi0JCWJvdW5kaW5mby0+ZGF0dW1zW2ld ID0gKERhdHVtICopIHBhbGxvYygyICogc2l6ZW9mKERhdHVtKSk7CisJCWJvdW5kaW5mby0+ZGF0 dW1zW2ldID0gZGF0dW1wdHI7CisJCWRhdHVtcHRyICs9IDI7CiAJCWJvdW5kaW5mby0+ZGF0dW1z W2ldWzBdID0gSW50MzJHZXREYXR1bShtb2R1bHVzKTsKIAkJYm91bmRpbmZvLT5kYXR1bXNbaV1b MV0gPSBJbnQzMkdldERhdHVtKHJlbWFpbmRlcik7CiAKQEAgLTQ3Miw2ICs0NzUsNyBAQCBjcmVh dGVfbGlzdF9ib3VuZHMoUGFydGl0aW9uQm91bmRTcGVjICoqYm91bmRzcGVjcywgaW50IG5wYXJ0 cywKIAlpbnQJCQluZXh0X2luZGV4ID0gMDsKIAlpbnQJCQlkZWZhdWx0X2luZGV4ID0gLTE7CiAJ aW50CQkJbnVsbF9pbmRleCA9IC0xOworCURhdHVtCQkqZGF0dW1wdHI7CiAKIAlib3VuZGluZm8g PSAoUGFydGl0aW9uQm91bmRJbmZvRGF0YSAqKQogCQlwYWxsb2MwKHNpemVvZihQYXJ0aXRpb25C b3VuZEluZm9EYXRhKSk7CkBAIC01NDEsMTEgKzU0NSwxMiBAQCBjcmVhdGVfbGlzdF9ib3VuZHMo UGFydGl0aW9uQm91bmRTcGVjICoqYm91bmRzcGVjcywgaW50IG5wYXJ0cywKIAkgKiByZWNlaXZl IHRoZSBzYW1lIHZhbHVlLiBUaGUgdmFsdWUgZm9yIGEgZ2l2ZW4gcGFydGl0aW9uIGlzIHRoZSBp bmRleCBvZgogCSAqIHRoYXQgcGFydGl0aW9uJ3Mgc21hbGxlc3QgZGF0dW0gaW4gdGhlIGFsbF92 YWx1ZXNbXSBhcnJheS4KIAkgKi8KKwlkYXR1bXB0ciA9IChEYXR1bSAqKSBwYWxsb2MwKG5kYXR1 bXMgKiBzaXplb2YoRGF0dW0pKTsKIAlmb3IgKGkgPSAwOyBpIDwgbmRhdHVtczsgaSsrKQogCXsK IAkJaW50CQkJb3JpZ19pbmRleCA9IGFsbF92YWx1ZXNbaV0uaW5kZXg7CiAKLQkJYm91bmRpbmZv LT5kYXR1bXNbaV0gPSAoRGF0dW0gKikgcGFsbG9jKHNpemVvZihEYXR1bSkpOworCQlib3VuZGlu Zm8tPmRhdHVtc1tpXSA9IGRhdHVtcHRyKys7CiAJCWJvdW5kaW5mby0+ZGF0dW1zW2ldWzBdID0g ZGF0dW1Db3B5KGFsbF92YWx1ZXNbaV0udmFsdWUsCiAJCQkJCQkJCQkJCWtleS0+cGFydHR5cGJ5 dmFsWzBdLAogCQkJCQkJCQkJCQlrZXktPnBhcnR0eXBsZW5bMF0pOwpAQCAtNjA5LDYgKzYxNCw3 IEBAIGNyZWF0ZV9yYW5nZV9ib3VuZHMoUGFydGl0aW9uQm91bmRTcGVjICoqYm91bmRzcGVjcywg aW50IG5wYXJ0cywKIAlpbnQJCQluZGF0dW1zID0gMDsKIAlpbnQJCQlkZWZhdWx0X2luZGV4ID0g LTE7CiAJaW50CQkJbmV4dF9pbmRleCA9IDA7CisJRGF0dW0JCSpkYXR1bXB0cjsKIAogCWJvdW5k aW5mbyA9IChQYXJ0aXRpb25Cb3VuZEluZm9EYXRhICopCiAJCXBhbGxvYzAoc2l6ZW9mKFBhcnRp dGlvbkJvdW5kSW5mb0RhdGEpKTsKQEAgLTczMywxMiArNzM5LDEzIEBAIGNyZWF0ZV9yYW5nZV9i b3VuZHMoUGFydGl0aW9uQm91bmRTcGVjICoqYm91bmRzcGVjcywgaW50IG5wYXJ0cywKIAlib3Vu ZGluZm8tPm5pbmRleGVzID0gbmRhdHVtcyArIDE7CiAJYm91bmRpbmZvLT5pbmRleGVzID0gKGlu dCAqKSBwYWxsb2MoKG5kYXR1bXMgKyAxKSAqIHNpemVvZihpbnQpKTsKIAorCWRhdHVtcHRyID0g KERhdHVtICopIHBhbGxvYzAobmRhdHVtcyAqIGtleS0+cGFydG5hdHRzICogc2l6ZW9mKERhdHVt KSk7CiAJZm9yIChpID0gMDsgaSA8IG5kYXR1bXM7IGkrKykKIAl7CiAJCWludAkJCWo7CiAKLQkJ Ym91bmRpbmZvLT5kYXR1bXNbaV0gPSAoRGF0dW0gKikgcGFsbG9jKGtleS0+cGFydG5hdHRzICoK LQkJCQkJCQkJCQkJCXNpemVvZihEYXR1bSkpOworCQlib3VuZGluZm8tPmRhdHVtc1tpXSA9IGRh dHVtcHRyOworCQlkYXR1bXB0ciArPSBrZXktPnBhcnRuYXR0czsKIAkJYm91bmRpbmZvLT5raW5k W2ldID0gKFBhcnRpdGlvblJhbmdlRGF0dW1LaW5kICopCiAJCQlwYWxsb2Moa2V5LT5wYXJ0bmF0 dHMgKgogCQkJCSAgIHNpemVvZihQYXJ0aXRpb25SYW5nZURhdHVtS2luZCkpOwotLSAKMS44LjMu MQoK --00000000000042b08b05c29e0b58 Content-Type: application/octet-stream; name="v2_0005-create_range_bounds-pfree-intermediate-results.patch" Content-Disposition: attachment; filename="v2_0005-create_range_bounds-pfree-intermediate-results.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_koub44lj4 RnJvbSAzODIyMzdlYWUxZTE0M2Y2MGRhOWE0NDI0OTkyMzI3Yzg5YTg5YjEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiA8bml0aW4uamFkaGF2QGVudGVycHJpc2VkYi5jb20+ CkRhdGU6IFR1ZSwgMTggTWF5IDIwMjEgMjI6NDM6NTggKzA1MzAKU3ViamVjdDogW1BBVENIIDUv NV0gY3JlYXRlX3JhbmdlX2JvdW5kcy1wZnJlZS1pbnRlcm1lZGlhdGUtcmVzdWx0cwoKLS0tCiBz cmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jIHwgNCArKysrCiAxIGZpbGUgY2hh bmdlZCwgNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFydGl0aW9u aW5nL3BhcnRib3VuZHMuYyBiL3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMK aW5kZXggZjFhNjkyYy4uNjdhMGZjZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFydGl0aW9u aW5nL3BhcnRib3VuZHMuYworKysgYi9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5k cy5jCkBAIC03MTUsNiArNzE1LDggQEAgY3JlYXRlX3JhbmdlX2JvdW5kcyhQYXJ0aXRpb25Cb3Vu ZFNwZWMgKipib3VuZHNwZWNzLCBpbnQgbnBhcnRzLAogCQlwcmV2ID0gY3VyOwogCX0KIAorCXBm cmVlKGFsbF9ib3VuZHMpOworCiAJLyogVXBkYXRlIG5kYXR1bXMgdG8gaG9sZCB0aGUgY291bnQg b2YgZGlzdGluY3QgZGF0dW1zLiAqLwogCW5kYXR1bXMgPSBrOwogCkBAIC03ODEsNiArNzgzLDgg QEAgY3JlYXRlX3JhbmdlX2JvdW5kcyhQYXJ0aXRpb25Cb3VuZFNwZWMgKipib3VuZHNwZWNzLCBp bnQgbnBhcnRzLAogCQl9CiAJfQogCisJcGZyZWUocmJvdW5kcyk7CisKIAkvKiBTZXQgdGhlIGNh bm9uaWNhbCB2YWx1ZSBmb3IgZGVmYXVsdF9pbmRleCwgaWYgYW55LiAqLwogCWlmIChkZWZhdWx0 X2luZGV4ICE9IC0xKQogCXsKLS0gCjEuOC4zLjEKCg== --00000000000042b08b05c29e0b58 Content-Type: application/octet-stream; name="v2_0002-allocate-the-PartitionListValue-as-a-single-chunk.patch" Content-Disposition: attachment; filename="v2_0002-allocate-the-PartitionListValue-as-a-single-chunk.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_koub44le1 RnJvbSA0MzNlYjE3Y2JjY2E3ZTIyMDBhMTQxNjEwOTA5N2Q5MTE1OGY0YjMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiA8bml0aW4uamFkaGF2QGVudGVycHJpc2VkYi5jb20+ CkRhdGU6IFR1ZSwgMTggTWF5IDIwMjEgMjI6Mzc6MDggKzA1MzAKU3ViamVjdDogW1BBVENIIDIv NV0gYWxsb2NhdGUtdGhlLVBhcnRpdGlvbkxpc3RWYWx1ZS1hcy1hLXNpbmdsZS1jaHVuawoKLS0t CiBzcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jIHwgMjIgKysrKysrKysrKy0t LS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMg Yi9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jCmluZGV4IGUwYTA0ZmUuLmY5 MWVmYmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMK KysrIGIvc3JjL2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3VuZHMuYwpAQCAtNDY3LDcgKzQ2 Nyw3IEBAIGNyZWF0ZV9saXN0X2JvdW5kcyhQYXJ0aXRpb25Cb3VuZFNwZWMgKipib3VuZHNwZWNz LCBpbnQgbnBhcnRzLAogCQkJCSAgIFBhcnRpdGlvbktleSBrZXksIGludCAqKm1hcHBpbmcpCiB7 CiAJUGFydGl0aW9uQm91bmRJbmZvIGJvdW5kaW5mbzsKLQlQYXJ0aXRpb25MaXN0VmFsdWUgKiph bGxfdmFsdWVzID0gTlVMTDsKKwlQYXJ0aXRpb25MaXN0VmFsdWUgKmFsbF92YWx1ZXM7CiAJaW50 CQkJaSA9IDA7CiAJaW50CQkJaiA9IDA7CiAJaW50CQkJbmRhdHVtcyA9IDA7CkBAIC00ODMsOCAr NDgzLDggQEAgY3JlYXRlX2xpc3RfYm91bmRzKFBhcnRpdGlvbkJvdW5kU3BlYyAqKmJvdW5kc3Bl Y3MsIGludCBucGFydHMsCiAJYm91bmRpbmZvLT5kZWZhdWx0X2luZGV4ID0gLTE7CiAKIAluZGF0 dW1zID0gZ2V0X25vbl9udWxsX2xpc3RfYm91bmRzX2NvdW50KGJvdW5kc3BlY3MsIG5wYXJ0cyk7 Ci0JYWxsX3ZhbHVlcyA9IChQYXJ0aXRpb25MaXN0VmFsdWUgKiopCi0JCXBhbGxvYyhuZGF0dW1z ICogc2l6ZW9mKFBhcnRpdGlvbkxpc3RWYWx1ZSAqKSk7CisJYWxsX3ZhbHVlcyA9IChQYXJ0aXRp b25MaXN0VmFsdWUgKikKKwkJcGFsbG9jKG5kYXR1bXMgKiBzaXplb2YoUGFydGl0aW9uTGlzdFZh bHVlKSk7CiAKIAkvKiBDcmVhdGUgYSB1bmlmaWVkIGxpc3Qgb2Ygbm9uLW51bGwgdmFsdWVzIGFj cm9zcyBhbGwgcGFydGl0aW9ucy4gKi8KIAlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspCkBA IC01MTIsMTAgKzUxMiw4IEBAIGNyZWF0ZV9saXN0X2JvdW5kcyhQYXJ0aXRpb25Cb3VuZFNwZWMg Kipib3VuZHNwZWNzLCBpbnQgbnBhcnRzLAogCiAJCQlpZiAoIXZhbC0+Y29uc3Rpc251bGwpCiAJ CQl7Ci0JCQkJYWxsX3ZhbHVlc1tqXSA9IChQYXJ0aXRpb25MaXN0VmFsdWUgKikKLQkJCQkJcGFs bG9jMChzaXplb2YoUGFydGl0aW9uTGlzdFZhbHVlKSk7Ci0JCQkJYWxsX3ZhbHVlc1tqXS0+aW5k ZXggPSBpOwotCQkJCWFsbF92YWx1ZXNbal0tPnZhbHVlID0gdmFsLT5jb25zdHZhbHVlOworCQkJ CWFsbF92YWx1ZXNbal0uaW5kZXggPSBpOworCQkJCWFsbF92YWx1ZXNbal0udmFsdWUgPSB2YWwt PmNvbnN0dmFsdWU7CiAJCQkJaisrOwogCQkJfQogCQkJZWxzZQpAQCAtNTMxLDcgKzUyOSw3IEBA IGNyZWF0ZV9saXN0X2JvdW5kcyhQYXJ0aXRpb25Cb3VuZFNwZWMgKipib3VuZHNwZWNzLCBpbnQg bnBhcnRzLAogCQl9CiAJfQogCi0JcXNvcnRfYXJnKGFsbF92YWx1ZXMsIG5kYXR1bXMsIHNpemVv ZihQYXJ0aXRpb25MaXN0VmFsdWUgKiksCisJcXNvcnRfYXJnKGFsbF92YWx1ZXMsIG5kYXR1bXMs IHNpemVvZihQYXJ0aXRpb25MaXN0VmFsdWUpLAogCQkJICBxc29ydF9wYXJ0aXRpb25fbGlzdF92 YWx1ZV9jbXAsICh2b2lkICopIGtleSk7CiAKIAlib3VuZGluZm8tPm5kYXR1bXMgPSBuZGF0dW1z OwpAQCAtNTQ3LDEwICs1NDUsMTAgQEAgY3JlYXRlX2xpc3RfYm91bmRzKFBhcnRpdGlvbkJvdW5k U3BlYyAqKmJvdW5kc3BlY3MsIGludCBucGFydHMsCiAJICovCiAJZm9yIChpID0gMDsgaSA8IG5k YXR1bXM7IGkrKykKIAl7Ci0JCWludAkJCW9yaWdfaW5kZXggPSBhbGxfdmFsdWVzW2ldLT5pbmRl eDsKKwkJaW50CQkJb3JpZ19pbmRleCA9IGFsbF92YWx1ZXNbaV0uaW5kZXg7CiAKIAkJYm91bmRp bmZvLT5kYXR1bXNbaV0gPSAoRGF0dW0gKikgcGFsbG9jKHNpemVvZihEYXR1bSkpOwotCQlib3Vu ZGluZm8tPmRhdHVtc1tpXVswXSA9IGRhdHVtQ29weShhbGxfdmFsdWVzW2ldLT52YWx1ZSwKKwkJ Ym91bmRpbmZvLT5kYXR1bXNbaV1bMF0gPSBkYXR1bUNvcHkoYWxsX3ZhbHVlc1tpXS52YWx1ZSwK IAkJCQkJCQkJCQkJa2V5LT5wYXJ0dHlwYnl2YWxbMF0sCiAJCQkJCQkJCQkJCWtleS0+cGFydHR5 cGxlblswXSk7CiAKQEAgLTM2OTMsOCArMzY5MSw4IEBAIHFzb3J0X3BhcnRpdGlvbl9oYm91bmRf Y21wKGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpCiBzdGF0aWMgaW50MzIKIHFzb3J0X3Bh cnRpdGlvbl9saXN0X3ZhbHVlX2NtcChjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiLCB2b2lk ICphcmcpCiB7Ci0JRGF0dW0JCXZhbDEgPSAoKihQYXJ0aXRpb25MaXN0VmFsdWUgKmNvbnN0ICop IGEpLT52YWx1ZSwKLQkJCQl2YWwyID0gKCooUGFydGl0aW9uTGlzdFZhbHVlICpjb25zdCAqKSBi KS0+dmFsdWU7CisJRGF0dW0JCXZhbDEgPSAoKFBhcnRpdGlvbkxpc3RWYWx1ZSAqY29uc3QpIGEp LT52YWx1ZSwKKwkJCQl2YWwyID0gKChQYXJ0aXRpb25MaXN0VmFsdWUgKmNvbnN0KSBiKS0+dmFs dWU7CiAJUGFydGl0aW9uS2V5IGtleSA9IChQYXJ0aXRpb25LZXkpIGFyZzsKIAogCXJldHVybiBE YXR1bUdldEludDMyKEZ1bmN0aW9uQ2FsbDJDb2xsKCZrZXktPnBhcnRzdXBmdW5jWzBdLAotLSAK MS44LjMuMQoK --00000000000042b08b05c29e0b58--