From unknown Thu Jun 19 13:59:31 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#17136 <17136@debbugs.gnu.org> To: bug#17136 <17136@debbugs.gnu.org> Subject: Status: [PATCH] dfa: speed up memory allocation, port to IRIX Reply-To: bug#17136 <17136@debbugs.gnu.org> Date: Thu, 19 Jun 2025 20:59:31 +0000 retitle 17136 [PATCH] dfa: speed up memory allocation, port to IRIX reassign 17136 grep submitter 17136 Paul Eggert severity 17136 normal tag 17136 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 28 21:29:29 2014 Received: (at submit) by debbugs.gnu.org; 29 Mar 2014 01:29:29 +0000 Received: from localhost ([127.0.0.1]:55250 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WTi5P-0005iY-5u for submit@debbugs.gnu.org; Fri, 28 Mar 2014 21:29:29 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60692) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WTi5J-0005iL-1j for submit@debbugs.gnu.org; Fri, 28 Mar 2014 21:29:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WTi5B-0007jn-Or for submit@debbugs.gnu.org; Fri, 28 Mar 2014 21:29:20 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:52558) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTi5B-0007jj-L5 for submit@debbugs.gnu.org; Fri, 28 Mar 2014 21:29:13 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34173) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTi55-0006ni-HK for bug-grep@gnu.org; Fri, 28 Mar 2014 21:29:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WTi4z-0007iu-E5 for bug-grep@gnu.org; Fri, 28 Mar 2014 21:29:07 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:43584) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTi4y-0007io-U8 for bug-grep@gnu.org; Fri, 28 Mar 2014 21:29:01 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id C1F7839E801A for ; Fri, 28 Mar 2014 18:28:59 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oTlTvNpgf+ZP for ; Fri, 28 Mar 2014 18:28:58 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 0E85939E8011 for ; Fri, 28 Mar 2014 18:28:58 -0700 (PDT) Message-ID: <533621D9.2010506@cs.ucla.edu> Date: Fri, 28 Mar 2014 18:28:57 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: grep mailing list Subject: [PATCH] dfa: speed up memory allocation, port to IRIX Content-Type: multipart/mixed; boundary="------------010202020402050004060400" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) This is a multi-part message in MIME format. --------------010202020402050004060400 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Tags: patch I'm not going to install the attached memory-management changes yet, as they're fairly intrusive and I want to give them a chance to cool off. The benefits are minor but are there, e.g., this shrinks the overall grep text size by 1.2% on my platform (Fedora 20 x86-64). Mostly, though, I wanted the memory management to be clearer. --------------010202020402050004060400 Content-Type: text/plain; charset=UTF-8; name="0001-dfa-speed-up-memory-allocation-port-to-IRIX.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-dfa-speed-up-memory-allocation-port-to-IRIX.patch" RnJvbSA1NzM3OTQ2M2JkYTUwZWVkMDI0ZGMyMmZhYjgzMjVhY2YwMjMxNGRiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDI4IE1hciAyMDE0IDE4OjEzOjMzIC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gZGZhOiBzcGVlZCB1cCBtZW1vcnkgYWxsb2NhdGlvbiwgcG9ydCB0byBJUklYCgpUaGlz IGNoYW5nZSB3YXMgcHJvbXB0ZWQgYnkgYSBwb3J0aW5nIHByb2JsZW0gb24gSVJJWDogaXQK ZGVmaW5lcyBpdHMgb3duIE1BTExPQyBtYWNybywgd2hpY2ggY2xhc2hlcyB3aXRoIG91cnMu Ck1vcmUgZ2VuZXJhbGx5LCB0aGUgTUFMTE9DIGV0Yy4gbWFjcm9zIGFyZSBjb25mdXNpbmcs IGFzIHRoZXkKbG9vayBsaWtlIGZ1bmN0aW9ucyBidXQgZG8gbm90IGhhdmUgQy1mdW5jdGlv biBzZW1hbnRpY3MuCkEgZnVuY3Rpb25hbCBzdHlsZSBtYWtlcyB0aGUgY29kZSBlYXNpZXIg dG8gcmVhZCwgYW5kIHRob3VnaAppdCBsZW5ndGhlbnMgc29tZSBjYWxscyBpdCBzaG9ydGVu cyB0aGUgY29kZSBvdmVyYWxsLgoqIHNyYy9kZmEuYyAoc3RydWN0IGRmYSk6IENvbWJpbmUg dHdvIHZlY3RvcnMgJ3JhbmdlX3N0cycgYW5kCidyYW5nZV9lbmRzJyBpbnRvIGEgc2luZ2xl IHZlY3RvciAncmFuZ2VzJy4gIFNpbWlsYXJseSwgY29tYmluZQpmb3VyIHZlY3RvcnMgJ3Ry YW5zJywgJ2ZhaWxzJywgJ3N1Y2Nlc3MnLCAnbmV3bGluZXMnIGludG8gYSBzaW5nbGUKdmVj dG9yICd0YWInLiAgVGhpcyBzaW1wbGlmaWVzIG1lbW9yeSBhbGxvY2F0aW9uLiAgUmVtb3Zl IG1lbWJlcgpubXVsdGlieXRlX3Byb3A7IG5vdCBuZWVkZWQsIGFzIGl0J3MgdGhlIHNhbWUg YXMgdGFsbG9jLgpSZW1vdmUgbWVtYmVyIHJlYWx0cmFucywgYXMgaXQncyBkZWR1Y2libGUg ZnJvbSB0cmFucy4KQWxsIHVzZXMgY2hhbmdlZC4KKFhOTUFMTE9DLCBYQ0FMTE9DLCBDQUxM T0MsIE1BTExPQywgUkVBTExPQywgUkVBTExPQ19JRl9ORUNFU1NBUlkpOgpSZW1vdmUuICBB bGwgdXNlcyBjaGFuZ2VkIHRvIHVzZSB4bm1hbGxvYyBldGMuCihjb3B5LCBtZXJnZSk6IERv bid0IHRyeSB0byBwcmVzZXJ2ZSBvbGQgZGF0YSB3aXRoIHJlYWxsb2MsIGFzIHdlJ2xsCmJl IG92ZXJ3cml0aW5nIGl0IGFueXdheS4gIFVzZSBmcmVlK21hbGxvYyBpc250ZWFkLgooZGZh c3RhdGUpOiBBbGxvY2F0ZSBncnBzIGFuZCBsYWJlbHMgb24gdGhlIHN0YWNrLCBhcyB0aGVp cgpzaXplIGlzIGtub3duIGF0IGNvbXBpbGUgdGltZS4KKHJlYWxsb2NfdHJhbnNfaWZfbmVj ZXNzYXJ5KTogTW92ZSBlYXJsaWVyLCB0byBhdm9pZCBmb3J3YXJkIGRlY2wuCihidWlsZF9z dGF0ZSk6IFVzZSBpdCwgdG8gYXZvaWQgZHVwbGljYXRlIGNvZGUuCihkZmFpbml0KTogT21p dCBuby1sb25nZXItbmVlZGVkIGluaXRpYWxpemF0aW9uLgotLS0KIHNyYy9kZmEuYyB8IDM4 NSArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE3MCBpbnNlcnRpb25zKCspLCAyMTUgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2RmYS5jIGIvc3JjL2RmYS5jCmluZGV4IDRl ZDIxODkuLmU3MDJhYzUgMTAwNjQ0Ci0tLSBhL3NyYy9kZmEuYworKysgYi9zcmMvZGZhLmMK QEAgLTMyNCw4ICszMjQsMTEgQEAgc3RydWN0IG1iX2NoYXJfY2xhc3NlcwogICBzaXplX3Qg bmNoYXJzOwogICB3Y3R5cGVfdCAqY2hfY2xhc3NlczsgICAgICAgICAvKiBDaGFyYWN0ZXIg Y2xhc3Nlcy4gICovCiAgIHNpemVfdCBuY2hfY2xhc3NlczsKLSAgd2NoYXJfdCAqcmFuZ2Vf c3RzOyAgICAgICAgICAgLyogUmFuZ2UgY2hhcmFjdGVycyAoc3RhcnQgb2YgdGhlIHJhbmdl KS4gICovCi0gIHdjaGFyX3QgKnJhbmdlX2VuZHM7ICAgICAgICAgIC8qIFJhbmdlIGNoYXJh Y3RlcnMgKGVuZCBvZiB0aGUgcmFuZ2UpLiAgKi8KKyAgc3RydWN0CQkJLyogUmFuZ2UgY2hh cmFjdGVycy4gICovCisgIHsKKyAgICB3Y2hhcl90IGJlZzsJCS8qIFJhbmdlIHN0YXJ0LiAg Ki8KKyAgICB3Y2hhcl90IGVuZDsJCS8qIFJhbmdlIGVuZC4gICovCisgIH0gKnJhbmdlczsK ICAgc2l6ZV90IG5yYW5nZXM7CiAgIGNoYXIgKiplcXVpdnM7ICAgICAgICAgICAgICAgIC8q IEVxdWl2YWxlbmNlIGNsYXNzZXMuICAqLwogICBzaXplX3QgbmVxdWl2czsKQEAgLTM3Myw3 ICszNzYsNiBAQCBzdHJ1Y3QgZGZhCiAgICAgIG11bHRpYnl0ZV9wcm9wCiAgICAgID0gMyAg ICAgLCAxICAgICAgICAgICAgICAgLCAgMCAgICAgICAgICAgICAgLCAgMiAgICAgICAgICAg ICAgLCAzCiAgICAqLwotICBzaXplX3Qgbm11bHRpYnl0ZV9wcm9wOwogICBpbnQgKm11bHRp Ynl0ZV9wcm9wOwogCiAjaWYgTUJTX1NVUFBPUlQKQEAgLTQxMiwyNyArNDE0LDMwIEBAIHN0 cnVjdCBkZmEKIAogICAvKiBGaWVsZHMgZmlsbGVkIGJ5IGRmYWV4ZWMuICAqLwogICBzdGF0 ZV9udW0gdHJhbGxvYzsgICAgICAgICAgICAvKiBOdW1iZXIgb2YgdHJhbnNpdGlvbiB0YWJs ZXMgdGhhdCBoYXZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3Rz IHNvIGZhci4gICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3Rz IHNvIGZhciwgbm90IGNvdW50aW5nIHRhYlstMV0uICAqLwogICBpbnQgdHJjb3VudDsgICAg ICAgICAgICAgICAgICAvKiBOdW1iZXIgb2YgdHJhbnNpdGlvbiB0YWJsZXMgdGhhdCBoYXZl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbGx5IGJlZW4gYnVp bHQuICAqLwotICBzdGF0ZV9udW0gKip0cmFuczsgICAgICAgICAgICAvKiBUcmFuc2l0aW9u IHRhYmxlcyBmb3Igc3RhdGVzIHRoYXQgY2FuCisgIC8qIFRhYmxlcyBpbmRleGVkIGJ5IHN0 YXRlLiAgKi8KKyAgc3RydWN0IGRmYXRhYgorICB7CisgICAgc3RhdGVfbnVtICp0cmFuczsg ICAgICAgICAgIC8qIFRyYW5zaXRpb24gdGFibGUgZm9yIHN0YXRlcyB0aGF0IGNhbgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXZlciBhY2NlcHQuICBJZiB0aGUg dHJhbnNpdGlvbnMgZm9yIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RhdGUgaGF2ZSBub3QgeWV0IGJlZW4gY29tcHV0ZWQsIG9yIHRoZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSBjb3VsZCBwb3NzaWJseSBhY2NlcHQsIGl0 cyBlbnRyeSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHRh YmxlIGlzIE5VTEwuICAqLwotICBzdGF0ZV9udW0gKipyZWFsdHJhbnM7ICAgICAgICAvKiBU cmFucyBhbHdheXMgcG9pbnRzIHRvIHJlYWx0cmFucyArIDE7IHRoaXMKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaXMgc28gdHJhbnNbLTFdIGNhbiBjb250YWluIE5V TEwuICAqLwotICBzdGF0ZV9udW0gKipmYWlsczsgICAgICAgICAgICAvKiBUcmFuc2l0aW9u IHRhYmxlcyBhZnRlciBmYWlsaW5nIHRvIGFjY2VwdAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aGlzIHRhYmxlIGlzIE5VTEwuICB0YWJbLTFdLnRyYW5zIGlzIGFs d2F5cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLiAgKi8KKyAg ICBzdGF0ZV9udW0gKmZhaWxzOyAgICAgICAgICAgLyogVHJhbnNpdGlvbiB0YWJsZSBhZnRl ciBmYWlsaW5nIHRvIGFjY2VwdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvbiBhIHN0YXRlIHRoYXQgcG90ZW50aWFsbHkgY291bGQgZG8gc28uICAqLwotICBpbnQg KnN1Y2Nlc3M7ICAgICAgICAgICAgICAgICAvKiBUYWJsZSBvZiBhY2NlcHRhbmNlIGNvbmRp dGlvbnMgdXNlZCBpbgorICAgIGludCBzdWNjZXNzOyAgICAgICAgICAgICAgICAvKiBBY2Nl cHRhbmNlIGNvbmRpdGlvbnMgdXNlZCBpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkZmFleGVjIGFuZCBjb21wdXRlZCBpbiBidWlsZF9zdGF0ZS4gICovCi0gIHN0 YXRlX251bSAqbmV3bGluZXM7ICAgICAgICAgIC8qIFRyYW5zaXRpb25zIG9uIG5ld2xpbmVz LiAgVGhlIGVudHJ5IGZvciBhCisgICAgc3RhdGVfbnVtIG5ld2xpbmVzOyAgICAgICAgIC8q IFRyYW5zaXRpb24gb24gbmV3bGluZXMuICBUaGUgZW50cnkgZm9yIGEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbmV3bGluZSBpbiBhbnkgdHJhbnNpdGlvbiB0YWJs ZSBpcyBhbHdheXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEgc28g d2UgY2FuIGNvdW50IGxpbmVzIHdpdGhvdXQgd2FzdGluZwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0b28gbWFueSBjeWNsZXMuICBUaGUgdHJhbnNpdGlvbiBmb3Ig YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdsaW5lIGlzIHN0b3Jl ZCBzZXBhcmF0ZWx5IGFuZCBoYW5kbGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGFzIGEgc3BlY2lhbCBjYXNlLiAgTmV3bGluZSBpcyBhbHNvIHVzZWQKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgYSBzZW50aW5lbCBhdCB0aGUgZW5k IG9mIHRoZSBidWZmZXIuICAqLworICB9ICp0YWI7CiAgIHN0cnVjdCBkZmFtdXN0ICptdXN0 czsgICAgICAgIC8qIExpc3Qgb2Ygc3RyaW5ncywgYXQgbGVhc3Qgb25lIG9mIHdoaWNoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIGtub3duIHRvIGFwcGVhciBp biBhbnkgci5lLiBtYXRjaGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0aGUgZGZhLiAgKi8KQEAgLTQ1MSw0MCArNDU2LDYgQEAgc3RydWN0IGRmYQogc3RhdGlj IHZvaWQgZGZhbXVzdCAoc3RydWN0IGRmYSAqZGZhKTsKIHN0YXRpYyB2b2lkIHJlZ2V4cCAo dm9pZCk7CiAKLS8qIFRoZXNlIHR3byBtYWNyb3MgYXJlIGlkZW50aWNhbCB0byB0aGUgb25l cyBpbiBnbnVsaWIncyB4YWxsb2MuaCwKLSAgIGV4Y2VwdCB0aGF0IHRoZXkgZG8gbm90IGNh c3QgdGhlIHJlc3VsdCB0byAiKHQgKikiLCBhbmQgdGh1cyBtYXkKLSAgIGJlIHVzZWQgdmlh IHR5cGUtZnJlZSBDQUxMT0MgYW5kIE1BTExPQyBtYWNyb3MuICAqLwotI3VuZGVmIFhOTUFM TE9DCi0jdW5kZWYgWENBTExPQwotCi0vKiBBbGxvY2F0ZSBtZW1vcnkgZm9yIE4gZWxlbWVu dHMgb2YgdHlwZSBULCB3aXRoIGVycm9yIGNoZWNraW5nLiAgKi8KLS8qIGV4dGVybiB0ICpY Tk1BTExPQyAoc2l6ZV90IG4sIHR5cGVuYW1lIHQpOyAqLwotIyBkZWZpbmUgWE5NQUxMT0Mo biwgdCkgXAotICAgIChzaXplb2YgKHQpID09IDEgPyB4bWFsbG9jIChuKSA6IHhubWFsbG9j IChuLCBzaXplb2YgKHQpKSkKLQotLyogQWxsb2NhdGUgbWVtb3J5IGZvciBOIGVsZW1lbnRz IG9mIHR5cGUgVCwgd2l0aCBlcnJvciBjaGVja2luZywKLSAgIGFuZCB6ZXJvIGl0LiAgKi8K LS8qIGV4dGVybiB0ICpYQ0FMTE9DIChzaXplX3QgbiwgdHlwZW5hbWUgdCk7ICovCi0jIGRl ZmluZSBYQ0FMTE9DKG4sIHQpIFwKLSAgICAoc2l6ZW9mICh0KSA9PSAxID8geHphbGxvYyAo bikgOiB4Y2FsbG9jIChuLCBzaXplb2YgKHQpKSkKLQotI2RlZmluZSBDQUxMT0MocCwgbikg ZG8geyAocCkgPSBYQ0FMTE9DIChuLCAqKHApKTsgfSB3aGlsZSAoMCkKLSNkZWZpbmUgTUFM TE9DKHAsIG4pIGRvIHsgKHApID0gWE5NQUxMT0MgKG4sICoocCkpOyB9IHdoaWxlICgwKQot I2RlZmluZSBSRUFMTE9DKHAsIG4pIGRvIHsocCkgPSB4bnJlYWxsb2MgKHAsIG4sIHNpemVv ZiAoKihwKSkpOyB9IHdoaWxlICgwKQotCi0vKiBSZWFsbG9jYXRlIGFuIGFycmF5IG9mIHR5 cGUgKlAgaWYgTl9BTExPQyBpcyA8PSBOX1JFUVVJUkVELiAgKi8KLSNkZWZpbmUgUkVBTExP Q19JRl9ORUNFU1NBUlkocCwgbl9hbGxvYywgbl9yZXF1aXJlZCkJCVwKLSAgZG8JCQkJCQkJ CVwKLSAgICB7CQkJCQkJCQlcCi0gICAgICBpZiAoKG5fYWxsb2MpIDw9IChuX3JlcXVpcmVk KSkJCQkJXAotICAgICAgICB7CQkJCQkJCVwKLSAgICAgICAgICBzaXplX3QgbmV3X25fYWxs b2MgPSAobl9yZXF1aXJlZCkgKyAhKHApOwkJXAotICAgICAgICAgIChwKSA9IHgybnJlYWxs b2MgKHAsICZuZXdfbl9hbGxvYywgc2l6ZW9mICgqKHApKSk7CVwKLSAgICAgICAgICAobl9h bGxvYykgPSBuZXdfbl9hbGxvYzsJCQkJXAotICAgICAgICB9CQkJCQkJCVwKLSAgICB9CQkJ CQkJCQlcCi0gIHdoaWxlIChmYWxzZSkKLQogc3RhdGljIHZvaWQKIGRmYW1iY2FjaGUgKHN0 cnVjdCBkZmEgKmQpCiB7CkBAIC02ODIsNyArNjUzLDkgQEAgY2hhcmNsYXNzX2luZGV4IChj aGFyY2xhc3MgY29uc3QgcykKICAgZm9yIChpID0gMDsgaSA8IGRmYS0+Y2luZGV4OyArK2kp CiAgICAgaWYgKGVxdWFsIChzLCBkZmEtPmNoYXJjbGFzc2VzW2ldKSkKICAgICAgIHJldHVy biBpOwotICBSRUFMTE9DX0lGX05FQ0VTU0FSWSAoZGZhLT5jaGFyY2xhc3NlcywgZGZhLT5j YWxsb2MsIGRmYS0+Y2luZGV4ICsgMSk7CisgIGlmIChkZmEtPmNpbmRleCA9PSBkZmEtPmNh bGxvYykKKyAgICBkZmEtPmNoYXJjbGFzc2VzID0geDJucmVhbGxvYyAoZGZhLT5jaGFyY2xh c3NlcywgJmRmYS0+Y2FsbG9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplb2YgKmRmYS0+Y2hhcmNsYXNzZXMpOwogICArK2RmYS0+Y2luZGV4OwogICBjb3B5 c2V0IChzLCBkZmEtPmNoYXJjbGFzc2VzW2ldKTsKICAgcmV0dXJuIGk7CkBAIC0xMDUwLDE2 ICsxMDIzLDE2IEBAIHBhcnNlX2JyYWNrZXRfZXhwICh2b2lkKQogCiAgIC8qIFdvcmsgYXJl YSB0byBidWlsZCBhIG1iX2NoYXJfY2xhc3Nlcy4gICovCiAgIHN0cnVjdCBtYl9jaGFyX2Ns YXNzZXMgKndvcmtfbWJjOwotICBzaXplX3QgY2hhcnNfYWwsIHJhbmdlX3N0c19hbCwgcmFu Z2VfZW5kc19hbCwgY2hfY2xhc3Nlc19hbCwKLSAgICBlcXVpdnNfYWwsIGNvbGxfZWxlbXNf YWw7CisgIHNpemVfdCBjaGFyc19hbCwgcmFuZ2VzX2FsLCBjaF9jbGFzc2VzX2FsLCBlcXVp dnNfYWwsIGNvbGxfZWxlbXNfYWw7CiAKICAgY2hhcnNfYWwgPSAwOwotICByYW5nZV9zdHNf YWwgPSByYW5nZV9lbmRzX2FsID0gMDsKKyAgcmFuZ2VzX2FsID0gMDsKICAgY2hfY2xhc3Nl c19hbCA9IGVxdWl2c19hbCA9IGNvbGxfZWxlbXNfYWwgPSAwOwogICBpZiAoTUJfQ1VSX01B WCA+IDEpCiAgICAgewotICAgICAgUkVBTExPQ19JRl9ORUNFU1NBUlkgKGRmYS0+bWJjc2V0 cywgZGZhLT5tYmNzZXRzX2FsbG9jLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRm YS0+bm1iY3NldHMgKyAxKTsKKyAgICAgIGlmIChkZmEtPm5tYmNzZXRzID09IGRmYS0+bWJj c2V0c19hbGxvYykKKyAgICAgICAgZGZhLT5tYmNzZXRzID0geDJucmVhbGxvYyAoZGZhLT5t YmNzZXRzLCAmZGZhLT5tYmNzZXRzX2FsbG9jLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplb2YgKmRmYS0+bWJjc2V0cyk7CiAKICAgICAgIC8qIGRmYS0+bXVs dGlieXRlX3Byb3BbXSBob2xkIHRoZSBpbmRleCBvZiBkZmEtPm1iY3NldHMuCiAgICAgICAg ICBXZSB3aWxsIHVwZGF0ZSBkZmEtPm11bHRpYnl0ZV9wcm9wW10gaW4gYWRkdG9rLCBiZWNh dXNlIHdlIGNhbid0CkBAIC0xMTM2LDkgKzExMDksMTEgQEAgcGFyc2VfYnJhY2tldF9leHAg KHZvaWQpCiAgICAgICAgICAgICAgICAgICAgICAgLyogU3RvcmUgdGhlIGNoYXJhY3RlciBj bGFzcyBhcyB3Y3R5cGVfdC4gICovCiAgICAgICAgICAgICAgICAgICAgICAgd2N0eXBlX3Qg d3QgPSB3Y3R5cGUgKGNsYXNzKTsKIAotICAgICAgICAgICAgICAgICAgICAgIFJFQUxMT0Nf SUZfTkVDRVNTQVJZICh3b3JrX21iYy0+Y2hfY2xhc3NlcywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hfY2xhc3Nlc19hbCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya19tYmMtPm5jaF9jbGFzc2Vz ICsgMSk7CisgICAgICAgICAgICAgICAgICAgICAgaWYgKHdvcmtfbWJjLT5uY2hfY2xhc3Nl cyA9PSBjaF9jbGFzc2VzX2FsKQorICAgICAgICAgICAgICAgICAgICAgICAgd29ya19tYmMt PmNoX2NsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgPSB4Mm5yZWFsbG9jICh3 b3JrX21iYy0+Y2hfY2xhc3NlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmY2hfY2xhc3Nlc19hbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplb2YgKndvcmtfbWJjLT5jaF9jbGFzc2VzKTsKICAgICAgICAgICAg ICAgICAgICAgICB3b3JrX21iYy0+Y2hfY2xhc3Nlc1t3b3JrX21iYy0+bmNoX2NsYXNzZXMr K10gPSB3dDsKICAgICAgICAgICAgICAgICAgICAgfQogCkBAIC0xMTkxLDIzICsxMTY2LDI0 IEBAIHBhcnNlX2JyYWNrZXRfZXhwICh2b2lkKQogICAgICAgICAgICAgICAgICAgICAgdG8g dGhlIHBhaXIgb2YgcmFuZ2VzLCBbbS16XSBbTS1aXS4gIEFsdGhvdWdoIHRoaXMgY29kZQog ICAgICAgICAgICAgICAgICAgICAgaXMgd3JvbmcgaW4gbXVsdGlwbGUgd2F5cywgaXQncyBu ZXZlciB1c2VkIGluIHByYWN0aWNlLgogICAgICAgICAgICAgICAgICAgICAgRklYTUU6IFJl bW92ZSB0aGlzIChhbmQgcmVsYXRlZCkgdW51c2VkIGNvZGUuICAqLwotICAgICAgICAgICAg ICAgICAgUkVBTExPQ19JRl9ORUNFU1NBUlkgKHdvcmtfbWJjLT5yYW5nZV9zdHMsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2Vfc3RzX2FsLCB3b3Jr X21iYy0+bnJhbmdlcyArIDEpOwotICAgICAgICAgICAgICAgICAgUkVBTExPQ19JRl9ORUNF U1NBUlkgKHdvcmtfbWJjLT5yYW5nZV9lbmRzLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJhbmdlX2VuZHNfYWwsIHdvcmtfbWJjLT5ucmFuZ2VzICsgMSk7 Ci0gICAgICAgICAgICAgICAgICB3b3JrX21iYy0+cmFuZ2Vfc3RzW3dvcmtfbWJjLT5ucmFu Z2VzXSA9Ci0gICAgICAgICAgICAgICAgICAgIGNhc2VfZm9sZCA/IHRvd2xvd2VyICh3Yykg OiAod2NoYXJfdCkgd2M7Ci0gICAgICAgICAgICAgICAgICB3b3JrX21iYy0+cmFuZ2VfZW5k c1t3b3JrX21iYy0+bnJhbmdlcysrXSA9Ci0gICAgICAgICAgICAgICAgICAgIGNhc2VfZm9s ZCA/IHRvd2xvd2VyICh3YzIpIDogKHdjaGFyX3QpIHdjMjsKKyAgICAgICAgICAgICAgICAg IGlmIChyYW5nZXNfYWwgLSB3b3JrX21iYy0+bnJhbmdlcyA8PSAxKQorICAgICAgICAgICAg ICAgICAgICB3b3JrX21iYy0+cmFuZ2VzID0geDJucmVhbGxvYyAod29ya19tYmMtPnJhbmdl cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZyYW5nZXNfYWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplb2YgKndvcmtfbWJjLT5yYW5nZXMpOworICAgICAgICAgICAgICAg ICAgd29ya19tYmMtPnJhbmdlc1t3b3JrX21iYy0+bnJhbmdlc10uYmVnCisgICAgICAgICAg ICAgICAgICAgID0gY2FzZV9mb2xkID8gdG93bG93ZXIgKHdjKSA6IHdjOworICAgICAgICAg ICAgICAgICAgd29ya19tYmMtPnJhbmdlc1t3b3JrX21iYy0+bnJhbmdlc10uZW5kCisgICAg ICAgICAgICAgICAgICAgID0gY2FzZV9mb2xkID8gdG93bG93ZXIgKHdjMikgOiB3YzI7Cisg ICAgICAgICAgICAgICAgICB3b3JrX21iYy0+bnJhbmdlcysrOwogCiAgICAgICAgICAgICAg ICAgICBpZiAoY2FzZV9mb2xkICYmIChpc3dhbHBoYSAod2MpIHx8IGlzd2FscGhhICh3YzIp KSkKICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgIFJFQUxM T0NfSUZfTkVDRVNTQVJZICh3b3JrX21iYy0+cmFuZ2Vfc3RzLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW5nZV9zdHNfYWwsIHdvcmtfbWJjLT5u cmFuZ2VzICsgMSk7Ci0gICAgICAgICAgICAgICAgICAgICAgd29ya19tYmMtPnJhbmdlX3N0 c1t3b3JrX21iYy0+bnJhbmdlc10gPSB0b3d1cHBlciAod2MpOwotICAgICAgICAgICAgICAg ICAgICAgIFJFQUxMT0NfSUZfTkVDRVNTQVJZICh3b3JrX21iYy0+cmFuZ2VfZW5kcywKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2VfZW5kc19h bCwgd29ya19tYmMtPm5yYW5nZXMgKyAxKTsKLSAgICAgICAgICAgICAgICAgICAgICB3b3Jr X21iYy0+cmFuZ2VfZW5kc1t3b3JrX21iYy0+bnJhbmdlcysrXSA9IHRvd3VwcGVyICh3YzIp OworICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5yYW5nZXMgPSB4Mm5yZWFsbG9j ICh3b3JrX21iYy0+cmFuZ2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmcmFuZ2VzX2FsLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKndvcmtfbWJjLT5yYW5n ZXMpOworICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5yYW5nZXNbd29ya19tYmMt Pm5yYW5nZXNdLmJlZyA9IHRvd3VwcGVyICh3Yyk7CisgICAgICAgICAgICAgICAgICAgICAg d29ya19tYmMtPnJhbmdlc1t3b3JrX21iYy0+bnJhbmdlc10uZW5kID0gdG93dXBwZXIgKHdj Mik7CisgICAgICAgICAgICAgICAgICAgICAgd29ya19tYmMtPm5yYW5nZXMrKzsKICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgZWxz ZSBpZiAodXNpbmdfc2ltcGxlX2xvY2FsZSAoKSkKQEAgLTEyNTUsMTYgKzEyMzEsMjAgQEAg cGFyc2VfYnJhY2tldF9leHAgKHZvaWQpCiAgICAgICAgIHsKICAgICAgICAgICB3Y2hhcl90 IGZvbGRlZFtDQVNFX0ZPTERFRF9CVUZTSVpFXTsKICAgICAgICAgICBpbnQgaSwgbiA9IGNh c2VfZm9sZGVkX2NvdW50ZXJwYXJ0cyAod2MsIGZvbGRlZCk7Ci0gICAgICAgICAgUkVBTExP Q19JRl9ORUNFU1NBUlkgKHdvcmtfbWJjLT5jaGFycywgY2hhcnNfYWwsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5uY2hhcnMgKyBuKTsKICAgICAgICAg ICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgICAgICAgaWYgKCFzZXRiaXRfd2Mg KGZvbGRlZFtpXSwgY2NsKSkKLSAgICAgICAgICAgICAgd29ya19tYmMtPmNoYXJzW3dvcmtf bWJjLT5uY2hhcnMrK10gPSBmb2xkZWRbaV07CisgICAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgICBpZiAod29ya19tYmMtPm5jaGFycyA9PSBjaGFyc19hbCkKKyAgICAgICAgICAg ICAgICAgIHdvcmtfbWJjLT5jaGFycyA9IHgybnJlYWxsb2MgKHdvcmtfbWJjLT5jaGFycywg JmNoYXJzX2FsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZW9mICp3b3JrX21iYy0+Y2hhcnMpOworICAgICAgICAgICAgICAgIHdvcmtf bWJjLT5jaGFyc1t3b3JrX21iYy0+bmNoYXJzKytdID0gZm9sZGVkW2ldOworICAgICAgICAg ICAgICB9CiAgICAgICAgIH0KICAgICAgIGlmICghc2V0Yml0X3djICh3YywgY2NsKSkKICAg ICAgICAgewotICAgICAgICAgIFJFQUxMT0NfSUZfTkVDRVNTQVJZICh3b3JrX21iYy0+Y2hh cnMsIGNoYXJzX2FsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrX21i Yy0+bmNoYXJzICsgMSk7CisgICAgICAgICAgaWYgKHdvcmtfbWJjLT5uY2hhcnMgPT0gY2hh cnNfYWwpCisgICAgICAgICAgICB3b3JrX21iYy0+Y2hhcnMgPSB4Mm5yZWFsbG9jICh3b3Jr X21iYy0+Y2hhcnMsICZjaGFyc19hbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVvZiAqd29ya19tYmMtPmNoYXJzKTsKICAgICAgICAgICB3b3Jr X21iYy0+Y2hhcnNbd29ya19tYmMtPm5jaGFycysrXSA9IHdjOwogICAgICAgICB9CiAgICAg fQpAQCAtMTYyOSwxNSArMTYwOSwxNyBAQCBzdGF0aWMgc2l6ZV90IGRlcHRoOyAgICAgICAg ICAgIC8qIEN1cnJlbnQgZGVwdGggb2YgYSBoeXBvdGhldGljYWwgc3RhY2sKIHN0YXRpYyB2 b2lkCiBhZGR0b2tfbWIgKHRva2VuIHQsIGludCBtYnByb3ApCiB7Ci0gIGlmIChNQl9DVVJf TUFYID4gMSkKKyAgaWYgKGRmYS0+dGluZGV4ID09IGRmYS0+dGFsbG9jKQogICAgIHsKLSAg ICAgIFJFQUxMT0NfSUZfTkVDRVNTQVJZIChkZmEtPm11bHRpYnl0ZV9wcm9wLCBkZmEtPm5t dWx0aWJ5dGVfcHJvcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZmEtPnRpbmRl eCArIDEpOwotICAgICAgZGZhLT5tdWx0aWJ5dGVfcHJvcFtkZmEtPnRpbmRleF0gPSBtYnBy b3A7CisgICAgICBkZmEtPnRva2VucyA9IHgybnJlYWxsb2MgKGRmYS0+dG9rZW5zLCAmZGZh LT50YWxsb2MsIHNpemVvZiAqZGZhLT50b2tlbnMpOworICAgICAgaWYgKE1CX0NVUl9NQVgg PiAxKQorICAgICAgICBkZmEtPm11bHRpYnl0ZV9wcm9wID0geG5yZWFsbG9jIChkZmEtPm11 bHRpYnl0ZV9wcm9wLCBkZmEtPnRhbGxvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2l6ZW9mICpkZmEtPm11bHRpYnl0ZV9wcm9wKTsKICAgICB9Ci0K LSAgUkVBTExPQ19JRl9ORUNFU1NBUlkgKGRmYS0+dG9rZW5zLCBkZmEtPnRhbGxvYywgZGZh LT50aW5kZXggKyAxKTsKLSAgZGZhLT50b2tlbnNbZGZhLT50aW5kZXgrK10gPSB0OworICBk ZmEtPnRva2Vuc1tkZmEtPnRpbmRleF0gPSB0OworICBpZiAoTUJfQ1VSX01BWCA+IDEpCisg ICAgZGZhLT5tdWx0aWJ5dGVfcHJvcFtkZmEtPnRpbmRleF0gPSBtYnByb3A7CisgIGRmYS0+ dGluZGV4Kys7CiAKICAgc3dpdGNoICh0KQogICAgIHsKQEAgLTIwMzgsMTkgKzIwMjAsMjQg QEAgZGZhcGFyc2UgKGNoYXIgY29uc3QgKnMsIHNpemVfdCBsZW4sIHN0cnVjdCBkZmEgKmQp CiAKIC8qIFNvbWUgcHJpbWl0aXZlcyBmb3Igb3BlcmF0aW5nIG9uIHNldHMgb2YgcG9zaXRp b25zLiAgKi8KIAotLyogQ29weSBvbmUgc2V0IHRvIGFub3RoZXI7IHRoZSBkZXN0aW5hdGlv biBtdXN0IGJlIGxhcmdlIGVub3VnaC4gICovCisvKiBDb3B5IG9uZSBzZXQgdG8gYW5vdGhl ci4gICovCiBzdGF0aWMgdm9pZAogY29weSAocG9zaXRpb25fc2V0IGNvbnN0ICpzcmMsIHBv c2l0aW9uX3NldCAqIGRzdCkKIHsKLSAgUkVBTExPQ19JRl9ORUNFU1NBUlkgKGRzdC0+ZWxl bXMsIGRzdC0+YWxsb2MsIHNyYy0+bmVsZW0pOwotICBtZW1jcHkgKGRzdC0+ZWxlbXMsIHNy Yy0+ZWxlbXMsIHNpemVvZiAoZHN0LT5lbGVtc1swXSkgKiBzcmMtPm5lbGVtKTsKKyAgaWYg KGRzdC0+YWxsb2MgPCBzcmMtPm5lbGVtKQorICAgIHsKKyAgICAgIGZyZWUgKGRzdC0+ZWxl bXMpOworICAgICAgZHN0LT5hbGxvYyA9IHNyYy0+YWxsb2M7CisgICAgICBkc3QtPmVsZW1z ID0geG5tYWxsb2MgKGRzdC0+YWxsb2MsIHNpemVvZiAqZHN0LT5lbGVtcyk7CisgICAgfQor ICBtZW1jcHkgKGRzdC0+ZWxlbXMsIHNyYy0+ZWxlbXMsIHNyYy0+bmVsZW0gKiBzaXplb2Yg KmRzdC0+ZWxlbXMpOwogICBkc3QtPm5lbGVtID0gc3JjLT5uZWxlbTsKIH0KIAogc3RhdGlj IHZvaWQKIGFsbG9jX3Bvc2l0aW9uX3NldCAocG9zaXRpb25fc2V0ICogcywgc2l6ZV90IHNp emUpCiB7Ci0gIE1BTExPQyAocy0+ZWxlbXMsIHNpemUpOworICBzLT5lbGVtcyA9IHhubWFs bG9jIChzaXplLCBzaXplb2YgKnMtPmVsZW1zKTsKICAgcy0+YWxsb2MgPSBzaXplOwogICBz LT5uZWxlbSA9IDA7CiB9CkBAIC0yMDgwLDcgKzIwNjcsOCBAQCBpbnNlcnQgKHBvc2l0aW9u IHAsIHBvc2l0aW9uX3NldCAqIHMpCiAgICAgICByZXR1cm47CiAgICAgfQogCi0gIFJFQUxM T0NfSUZfTkVDRVNTQVJZIChzLT5lbGVtcywgcy0+YWxsb2MsIGNvdW50ICsgMSk7CisgIGlm IChjb3VudCA9PSBzLT5hbGxvYykKKyAgICBzLT5lbGVtcyA9IHgybnJlYWxsb2MgKHMtPmVs ZW1zLCAmcy0+YWxsb2MsIHNpemVvZiAqcy0+ZWxlbXMpOwogICBmb3IgKGkgPSBjb3VudDsg aSA+IGxvOyBpLS0pCiAgICAgcy0+ZWxlbXNbaV0gPSBzLT5lbGVtc1tpIC0gMV07CiAgIHMt PmVsZW1zW2xvXSA9IHA7CkBAIC0yMDk0LDcgKzIwODIsMTIgQEAgbWVyZ2UgKHBvc2l0aW9u X3NldCBjb25zdCAqczEsIHBvc2l0aW9uX3NldCBjb25zdCAqczIsIHBvc2l0aW9uX3NldCAq IG0pCiB7CiAgIHNpemVfdCBpID0gMCwgaiA9IDA7CiAKLSAgUkVBTExPQ19JRl9ORUNFU1NB UlkgKG0tPmVsZW1zLCBtLT5hbGxvYywgczEtPm5lbGVtICsgczItPm5lbGVtKTsKKyAgaWYg KG0tPmFsbG9jIDwgczEtPm5lbGVtICsgczItPm5lbGVtKQorICAgIHsKKyAgICAgIGZyZWUg KG0tPmVsZW1zKTsKKyAgICAgIG0tPmFsbG9jID0gczEtPmFsbG9jICsgczItPmFsbG9jOwor ICAgICAgbS0+ZWxlbXMgPSB4bm1hbGxvYyAobS0+YWxsb2MsIHNpemVvZiAqbS0+ZWxlbXMp OworICAgIH0KICAgbS0+bmVsZW0gPSAwOwogICB3aGlsZSAoaSA8IHMxLT5uZWxlbSAmJiBq IDwgczItPm5lbGVtKQogICAgIGlmIChzMS0+ZWxlbXNbaV0uaW5kZXggPiBzMi0+ZWxlbXNb al0uaW5kZXgpCkBAIC0yMTU1LDcgKzIxNDgsOCBAQCBzdGF0ZV9pbmRleCAoc3RydWN0IGRm YSAqZCwgcG9zaXRpb25fc2V0IGNvbnN0ICpzLCBpbnQgY29udGV4dCkKICAgICB9CiAKICAg LyogV2UnbGwgaGF2ZSB0byBjcmVhdGUgYSBuZXcgc3RhdGUuICAqLwotICBSRUFMTE9DX0lG X05FQ0VTU0FSWSAoZC0+c3RhdGVzLCBkLT5zYWxsb2MsIGQtPnNpbmRleCArIDEpOworICBp ZiAoZC0+c2luZGV4ID09IGQtPnNhbGxvYykKKyAgICBkLT5zdGF0ZXMgPSB4Mm5yZWFsbG9j IChkLT5zdGF0ZXMsICZkLT5zYWxsb2MsIHNpemVvZiAqZC0+c3RhdGVzKTsKICAgZC0+c3Rh dGVzW2ldLmhhc2ggPSBoYXNoOwogICBhbGxvY19wb3NpdGlvbl9zZXQgKCZkLT5zdGF0ZXNb aV0uZWxlbXMsIHMtPm5lbGVtKTsKICAgY29weSAocywgJmQtPnN0YXRlc1tpXS5lbGVtcyk7 CkBAIC0yMTk3LDEwICsyMTkxLDEwIEBAIHN0YXRpYyB2b2lkCiBlcHNjbG9zdXJlIChwb3Np dGlvbl9zZXQgKiBzLCBzdHJ1Y3QgZGZhIGNvbnN0ICpkKQogewogICBzaXplX3QgaSwgajsK LSAgY2hhciAqdmlzaXRlZDsgIC8qIEFycmF5IG9mIGJvb2xlYW5zLCBlbm91Z2ggdG8gdXNl IGNoYXIsIG5vdCBpbnQuICAqLwogICBwb3NpdGlvbiBwLCBvbGQ7CiAKLSAgQ0FMTE9DICh2 aXNpdGVkLCBkLT50aW5kZXgpOworICAvKiBBcnJheSBvZiBib29sZWFucywgbGFyZ2UgZW5v dWdoIHRvIHVzZSBjaGFyLCBub3QgaW50LiAgKi8KKyAgY2hhciAqdmlzaXRlZCA9IHh6YWxs b2MgKGQtPnRpbmRleCk7CiAKICAgZm9yIChpID0gMDsgaSA8IHMtPm5lbGVtOyArK2kpCiAg ICAgaWYgKGQtPnRva2Vuc1tzLT5lbGVtc1tpXS5pbmRleF0gPj0gTk9UQ0hBUgpAQCAtMjM4 MywxOSArMjM3NywxOSBAQCBkZmFhbmFseXplIChzdHJ1Y3QgZGZhICpkLCBpbnQgc2VhcmNo ZmxhZykKIAogICBkLT5zZWFyY2hmbGFnID0gc2VhcmNoZmxhZzsKIAotICBNQUxMT0MgKG51 bGxhYmxlLCBkLT5kZXB0aCk7CisgIG51bGxhYmxlID0geG5tYWxsb2MgKGQtPmRlcHRoLCBz aXplb2YgKm51bGxhYmxlKTsKICAgb19udWxsYWJsZSA9IG51bGxhYmxlOwotICBNQUxMT0Mg KG5maXJzdHBvcywgZC0+ZGVwdGgpOworICBuZmlyc3Rwb3MgPSB4bm1hbGxvYyAoZC0+ZGVw dGgsIHNpemVvZiAqbmZpcnN0cG9zKTsKICAgb19uZmlyc3QgPSBuZmlyc3Rwb3M7Ci0gIE1B TExPQyAoZmlyc3Rwb3MsIGQtPm5sZWF2ZXMpOworICBmaXJzdHBvcyA9IHhubWFsbG9jIChk LT5ubGVhdmVzLCBzaXplb2YgKmZpcnN0cG9zKTsKICAgb19maXJzdHBvcyA9IGZpcnN0cG9z LCBmaXJzdHBvcyArPSBkLT5ubGVhdmVzOwotICBNQUxMT0MgKG5sYXN0cG9zLCBkLT5kZXB0 aCk7CisgIG5sYXN0cG9zID0geG5tYWxsb2MgKGQtPmRlcHRoLCBzaXplb2YgKm5sYXN0cG9z KTsKICAgb19ubGFzdCA9IG5sYXN0cG9zOwotICBNQUxMT0MgKGxhc3Rwb3MsIGQtPm5sZWF2 ZXMpOworICBsYXN0cG9zID0geG5tYWxsb2MgKGQtPm5sZWF2ZXMsIHNpemVvZiAqbGFzdHBv cyk7CiAgIG9fbGFzdHBvcyA9IGxhc3Rwb3MsIGxhc3Rwb3MgKz0gZC0+bmxlYXZlczsKICAg YWxsb2NfcG9zaXRpb25fc2V0ICgmbWVyZ2VkLCBkLT5ubGVhdmVzKTsKIAotICBDQUxMT0Mg KGQtPmZvbGxvd3MsIGQtPnRpbmRleCk7CisgIGQtPmZvbGxvd3MgPSB4Y2FsbG9jIChkLT50 aW5kZXgsIHNpemVvZiAqZC0+Zm9sbG93cyk7CiAKICAgZm9yIChpID0gMDsgaSA8IGQtPnRp bmRleDsgKytpKQogICAgIHsKQEAgLTI1NTYsNyArMjU1MCw3IEBAIGRmYWFuYWx5emUgKHN0 cnVjdCBkZmEgKmQsIGludCBzZWFyY2hmbGFnKQogICAvKiBCdWlsZCB0aGUgaW5pdGlhbCBz dGF0ZS4gICovCiAgIGQtPnNhbGxvYyA9IDE7CiAgIGQtPnNpbmRleCA9IDA7Ci0gIE1BTExP QyAoZC0+c3RhdGVzLCBkLT5zYWxsb2MpOworICBkLT5zdGF0ZXMgPSB4bm1hbGxvYyAoZC0+ c2FsbG9jLCBzaXplb2YgKmQtPnN0YXRlcyk7CiAKICAgc2VwYXJhdGVfY29udGV4dHMgPSBz dGF0ZV9zZXBhcmF0ZV9jb250ZXh0cyAoJm1lcmdlZCk7CiAgIHN0YXRlX2luZGV4IChkLCAm bWVyZ2VkLApAQCAtMjYwNSw4ICsyNTk5LDggQEAgZGZhYW5hbHl6ZSAoc3RydWN0IGRmYSAq ZCwgaW50IHNlYXJjaGZsYWcpCiB2b2lkCiBkZmFzdGF0ZSAoc3RhdGVfbnVtIHMsIHN0cnVj dCBkZmEgKmQsIHN0YXRlX251bSB0cmFuc1tdKQogewotICBsZWFmX3NldCAqZ3JwczsgICAg ICAgICAgICAgICAvKiBBcyBtYW55IGFzIHdpbGwgZXZlciBiZSBuZWVkZWQuICAqLwotICBj aGFyY2xhc3MgKmxhYmVsczsgICAgICAgICAgICAvKiBMYWJlbHMgY29ycmVzcG9uZGluZyB0 byB0aGUgZ3JvdXBzLiAgKi8KKyAgbGVhZl9zZXQgZ3Jwc1tOT1RDSEFSXTsgICAgICAgLyog QXMgbWFueSBhcyB3aWxsIGV2ZXIgYmUgbmVlZGVkLiAgKi8KKyAgY2hhcmNsYXNzIGxhYmVs c1tOT1RDSEFSXTsgICAgLyogTGFiZWxzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdyb3Vwcy4g ICovCiAgIHNpemVfdCBuZ3JwcyA9IDA7ICAgICAgICAgICAgIC8qIE51bWJlciBvZiBncm91 cHMgYWN0dWFsbHkgdXNlZC4gICovCiAgIHBvc2l0aW9uIHBvczsgICAgICAgICAgICAgICAg IC8qIEN1cnJlbnQgcG9zaXRpb24gYmVpbmcgY29uc2lkZXJlZC4gICovCiAgIGNoYXJjbGFz cyBtYXRjaGVzOyAgICAgICAgICAgIC8qIFNldCBvZiBtYXRjaGluZyBjaGFyYWN0ZXJzLiAg Ki8KQEAgLTI2MjUsOSArMjYxOSw2IEBAIGRmYXN0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0 IGRmYSAqZCwgc3RhdGVfbnVtIHRyYW5zW10pCiAgIGludCBuZXh0X2lzbnRfMXN0X2J5dGUg PSAwOyAgIC8qIEZsYWcgaWYgd2UgY2FuJ3QgYWRkIHN0YXRlMC4gICovCiAgIHNpemVfdCBp LCBqLCBrOwogCi0gIE1BTExPQyAoZ3JwcywgTk9UQ0hBUik7Ci0gIE1BTExPQyAobGFiZWxz LCBOT1RDSEFSKTsKLQogICB6ZXJvc2V0IChtYXRjaGVzKTsKIAogICBmb3IgKGkgPSAwOyBp IDwgZC0+c3RhdGVzW3NdLmVsZW1zLm5lbGVtOyArK2kpCkBAIC0yNzEwLDcgKzI3MDEsOCBA QCBkZmFzdGF0ZSAoc3RhdGVfbnVtIHMsIHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSB0cmFu c1tdKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICBjb3B5c2V0IChsZWZ0b3ZlcnMs IGxhYmVsc1tuZ3Jwc10pOwogICAgICAgICAgICAgICBjb3B5c2V0IChpbnRlcnNlY3QsIGxh YmVsc1tqXSk7Ci0gICAgICAgICAgICAgIE1BTExPQyAoZ3Jwc1tuZ3Jwc10uZWxlbXMsIGQt Pm5sZWF2ZXMpOworICAgICAgICAgICAgICBncnBzW25ncnBzXS5lbGVtcyA9IHhubWFsbG9j IChkLT5ubGVhdmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzaXplb2YgKmdycHNbbmdycHNdLmVsZW1zKTsKICAgICAgICAgICAgICAgbWVtY3B5 IChncnBzW25ncnBzXS5lbGVtcywgZ3Jwc1tqXS5lbGVtcywKICAgICAgICAgICAgICAgICAg ICAgICBzaXplb2YgKGdycHNbal0uZWxlbXNbMF0pICogZ3Jwc1tqXS5uZWxlbSk7CiAgICAg ICAgICAgICAgIGdycHNbbmdycHNdLm5lbGVtID0gZ3Jwc1tqXS5uZWxlbTsKQEAgLTI3MzMs NyArMjcyNSw3IEBAIGRmYXN0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRmYSAqZCwgc3Rh dGVfbnVtIHRyYW5zW10pCiAgICAgICAgIHsKICAgICAgICAgICBjb3B5c2V0IChtYXRjaGVz LCBsYWJlbHNbbmdycHNdKTsKICAgICAgICAgICB6ZXJvc2V0IChtYXRjaGVzKTsKLSAgICAg ICAgICBNQUxMT0MgKGdycHNbbmdycHNdLmVsZW1zLCBkLT5ubGVhdmVzKTsKKyAgICAgICAg ICBncnBzW25ncnBzXS5lbGVtcyA9IHhubWFsbG9jIChkLT5ubGVhdmVzLCBzaXplb2YgKmdy cHNbbmdycHNdLmVsZW1zKTsKICAgICAgICAgICBncnBzW25ncnBzXS5uZWxlbSA9IDE7CiAg ICAgICAgICAgZ3Jwc1tuZ3Jwc10uZWxlbXNbMF0gPSBwb3MuaW5kZXg7CiAgICAgICAgICAg KytuZ3JwczsKQEAgLTI4NTUsMjIgKzI4NDcsNDAgQEAgZGZhc3RhdGUgKHN0YXRlX251bSBz LCBzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0gdHJhbnNbXSkKICAgICBmcmVlIChncnBzW2ld LmVsZW1zKTsKICAgZnJlZSAoZm9sbG93cy5lbGVtcyk7CiAgIGZyZWUgKHRtcC5lbGVtcyk7 Ci0gIGZyZWUgKGdycHMpOwotICBmcmVlIChsYWJlbHMpOworfQorCitzdGF0aWMgdm9pZAor cmVhbGxvY190cmFuc19pZl9uZWNlc3NhcnkgKHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSBu ZXdfc3RhdGUpCit7CisgIC8qIE1ha2Ugc3VyZSB0aGF0IHRoZSB0cmFucyBhbmQgZmFpbCBh cnJheXMgYXJlIGFsbG9jYXRlZCBsYXJnZSBlbm91Z2gKKyAgICAgdG8gaG9sZCBhIHBvaW50 ZXIgZm9yIHRoZSBuZXcgc3RhdGUuICAqLworICBpZiAoZC0+dHJhbGxvYyA8PSBuZXdfc3Rh dGUpCisgICAgeworICAgICAgc3RydWN0IGRmYXRhYiAqdGFiXzEgPSBkLT50YWIgLSAxOwor ICAgICAgc3RhdGVfbnVtIG9sZGFsbG9jID0gZC0+dHJhbGxvYyArIDE7CisgICAgICBzdGF0 ZV9udW0gbmV3YWxsb2M7CisKKyAgICAgIGQtPnRyYWxsb2MgPSBuZXdfc3RhdGUgKyAxOwor ICAgICAgdGFiXzEgPSB4Mm5yZWFsbG9jICh0YWJfMSwgJmQtPnRyYWxsb2MsIHNpemVvZiAq dGFiXzEpOworICAgICAgbmV3YWxsb2MgPSBkLT50cmFsbG9jLS07CisgICAgICBkLT50YWIg PSB0YWJfMSArIDE7CisgICAgICBmb3IgKDsgb2xkYWxsb2MgPCBuZXdhbGxvYzsgb2xkYWxs b2MrKykKKyAgICAgICAgdGFiXzFbb2xkYWxsb2NdLnRyYW5zID0gdGFiXzFbb2xkYWxsb2Nd LmZhaWxzID0gTlVMTDsKKyAgICB9CiB9CiAKIC8qIFNvbWUgcm91dGluZXMgZm9yIG1hbmlw dWxhdGluZyBhIGNvbXBpbGVkIGRmYSdzIHRyYW5zaXRpb24gdGFibGVzLgogICAgRWFjaCBz dGF0ZSBtYXkgb3IgbWF5IG5vdCBoYXZlIGEgdHJhbnNpdGlvbiB0YWJsZTsgaWYgaXQgZG9l cywgYW5kIGl0Ci0gICBpcyBhIG5vbi1hY2NlcHRpbmcgc3RhdGUsIHRoZW4gZC0+dHJhbnNb c3RhdGVdIHBvaW50cyB0byBpdHMgdGFibGUuCi0gICBJZiBpdCBpcyBhbiBhY2NlcHRpbmcg c3RhdGUgdGhlbiBkLT5mYWlsc1tzdGF0ZV0gcG9pbnRzIHRvIGl0cyB0YWJsZS4KLSAgIElm IGl0IGhhcyBubyB0YWJsZSBhdCBhbGwsIHRoZW4gZC0+dHJhbnNbc3RhdGVdIGlzIE5VTEwu CisgICBpcyBhIG5vbi1hY2NlcHRpbmcgc3RhdGUsIHRoZW4gZC0+dGFiW3N0YXRlXS50cmFu cyBwb2ludHMgdG8gaXRzIHRhYmxlLgorICAgSWYgaXQgaXMgYW4gYWNjZXB0aW5nIHN0YXRl IHRoZW4gZC0+dGFiW3N0YXRlXS5mYWlscyBwb2ludHMgdG8gaXRzIHRhYmxlLgorICAgSWYg aXQgaGFzIG5vIHRhYmxlIGF0IGFsbCwgdGhlbiBkLT50YWJbc3RhdGVdLnRyYW5zIGlzIE5V TEwuCiAgICBUT0RPOiBJbXByb3ZlIHRoaXMgY29tbWVudCwgZ2V0IHJpZCBvZiB0aGUgdW5u ZWNlc3NhcnkgcmVkdW5kYW5jeS4gICovCiAKIHN0YXRpYyB2b2lkCiBidWlsZF9zdGF0ZSAo c3RhdGVfbnVtIHMsIHN0cnVjdCBkZmEgKmQpCiB7CiAgIHN0YXRlX251bSAqdHJhbnM7ICAg ICAgICAgICAgIC8qIFRoZSBuZXcgdHJhbnNpdGlvbiB0YWJsZS4gICovCi0gIHN0YXRlX251 bSBpOworICBzdGF0ZV9udW0gaSwgbWF4c3RhdGU7CiAKICAgLyogU2V0IGFuIHVwcGVyIGxp bWl0IG9uIHRoZSBudW1iZXIgb2YgdHJhbnNpdGlvbiB0YWJsZXMgdGhhdCB3aWxsIGV2ZXIK ICAgICAgZXhpc3QgYXQgb25jZS4gIDEwMjQgaXMgYXJiaXRyYXJ5LiAgVGhlIGlkZWEgaXMg dGhhdCB0aGUgZnJlcXVlbnRseQpAQCAtMjg4MCw5ICsyODkwLDkgQEAgYnVpbGRfc3RhdGUg KHN0YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkKQogICAgIHsKICAgICAgIGZvciAoaSA9IDA7 IGkgPCBkLT50cmFsbG9jOyArK2kpCiAgICAgICAgIHsKLSAgICAgICAgICBmcmVlIChkLT50 cmFuc1tpXSk7Ci0gICAgICAgICAgZnJlZSAoZC0+ZmFpbHNbaV0pOwotICAgICAgICAgIGQt PnRyYW5zW2ldID0gZC0+ZmFpbHNbaV0gPSBOVUxMOworICAgICAgICAgIGZyZWUgKGQtPnRh YltpXS50cmFucyk7CisgICAgICAgICAgZnJlZSAoZC0+dGFiW2ldLmZhaWxzKTsKKyAgICAg ICAgICBkLT50YWJbaV0udHJhbnMgPSBkLT50YWJbaV0uZmFpbHMgPSBOVUxMOwogICAgICAg ICB9CiAgICAgICBkLT50cmNvdW50ID0gMDsKICAgICB9CkBAIC0yODkwLDYwICsyOTAwLDQ5 IEBAIGJ1aWxkX3N0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRmYSAqZCkKICAgKytkLT50 cmNvdW50OwogCiAgIC8qIFNldCB1cCB0aGUgc3VjY2VzcyBiaXRzIGZvciB0aGlzIHN0YXRl LiAgKi8KLSAgZC0+c3VjY2Vzc1tzXSA9IDA7CisgIGQtPnRhYltzXS5zdWNjZXNzID0gMDsK ICAgaWYgKEFDQ0VQVFNfSU5fQ09OVEVYVCAoZC0+c3RhdGVzW3NdLmNvbnRleHQsIENUWF9O RVdMSU5FLCBzLCAqZCkpCi0gICAgZC0+c3VjY2Vzc1tzXSB8PSBDVFhfTkVXTElORTsKKyAg ICBkLT50YWJbc10uc3VjY2VzcyB8PSBDVFhfTkVXTElORTsKICAgaWYgKEFDQ0VQVFNfSU5f Q09OVEVYVCAoZC0+c3RhdGVzW3NdLmNvbnRleHQsIENUWF9MRVRURVIsIHMsICpkKSkKLSAg ICBkLT5zdWNjZXNzW3NdIHw9IENUWF9MRVRURVI7CisgICAgZC0+dGFiW3NdLnN1Y2Nlc3Mg fD0gQ1RYX0xFVFRFUjsKICAgaWYgKEFDQ0VQVFNfSU5fQ09OVEVYVCAoZC0+c3RhdGVzW3Nd LmNvbnRleHQsIENUWF9OT05FLCBzLCAqZCkpCi0gICAgZC0+c3VjY2Vzc1tzXSB8PSBDVFhf Tk9ORTsKKyAgICBkLT50YWJbc10uc3VjY2VzcyB8PSBDVFhfTk9ORTsKIAotICBNQUxMT0Mg KHRyYW5zLCBOT1RDSEFSKTsKKyAgdHJhbnMgPSB4bWFsbG9jIChOT1RDSEFSICogc2l6ZW9m ICp0cmFucyk7CiAgIGRmYXN0YXRlIChzLCBkLCB0cmFucyk7CiAKICAgLyogTm93IGdvIHRo cm91Z2ggdGhlIG5ldyB0cmFuc2l0aW9uIHRhYmxlLCBhbmQgbWFrZSBzdXJlIHRoYXQgdGhl IHRyYW5zCiAgICAgIGFuZCBmYWlsIGFycmF5cyBhcmUgYWxsb2NhdGVkIGxhcmdlIGVub3Vn aCB0byBob2xkIGEgcG9pbnRlciBmb3IgdGhlCiAgICAgIGxhcmdlc3Qgc3RhdGUgbWVudGlv bmVkIGluIHRoZSB0YWJsZS4gICovCisgIG1heHN0YXRlID0gLTE7CiAgIGZvciAoaSA9IDA7 IGkgPCBOT1RDSEFSOyArK2kpCi0gICAgaWYgKHRyYW5zW2ldID49IGQtPnRyYWxsb2MpCi0g ICAgICB7Ci0gICAgICAgIHN0YXRlX251bSBvbGRhbGxvYyA9IGQtPnRyYWxsb2M7Ci0KLSAg ICAgICAgd2hpbGUgKHRyYW5zW2ldID49IGQtPnRyYWxsb2MpCi0gICAgICAgICAgZC0+dHJh bGxvYyAqPSAyOwotICAgICAgICBSRUFMTE9DIChkLT5yZWFsdHJhbnMsIGQtPnRyYWxsb2Mg KyAxKTsKLSAgICAgICAgZC0+dHJhbnMgPSBkLT5yZWFsdHJhbnMgKyAxOwotICAgICAgICBS RUFMTE9DIChkLT5mYWlscywgZC0+dHJhbGxvYyk7Ci0gICAgICAgIFJFQUxMT0MgKGQtPnN1 Y2Nlc3MsIGQtPnRyYWxsb2MpOwotICAgICAgICBSRUFMTE9DIChkLT5uZXdsaW5lcywgZC0+ dHJhbGxvYyk7Ci0gICAgICAgIHdoaWxlIChvbGRhbGxvYyA8IGQtPnRyYWxsb2MpCi0gICAg ICAgICAgewotICAgICAgICAgICAgZC0+dHJhbnNbb2xkYWxsb2NdID0gTlVMTDsKLSAgICAg ICAgICAgIGQtPmZhaWxzW29sZGFsbG9jKytdID0gTlVMTDsKLSAgICAgICAgICB9Ci0gICAg ICB9CisgICAgaWYgKG1heHN0YXRlIDwgdHJhbnNbaV0pCisgICAgICBtYXhzdGF0ZSA9IHRy YW5zW2ldOworICByZWFsbG9jX3RyYW5zX2lmX25lY2Vzc2FyeSAoZCwgbWF4c3RhdGUpOwog CiAgIC8qIEtlZXAgdGhlIG5ld2xpbmUgdHJhbnNpdGlvbiBpbiBhIHNwZWNpYWwgcGxhY2Ug c28gd2UgY2FuIHVzZSBpdCBhcwogICAgICBhIHNlbnRpbmVsLiAgKi8KLSAgZC0+bmV3bGlu ZXNbc10gPSB0cmFuc1tlb2xieXRlXTsKKyAgZC0+dGFiW3NdLm5ld2xpbmVzID0gdHJhbnNb ZW9sYnl0ZV07CiAgIHRyYW5zW2VvbGJ5dGVdID0gLTE7CiAKICAgaWYgKEFDQ0VQVElORyAo cywgKmQpKQotICAgIGQtPmZhaWxzW3NdID0gdHJhbnM7CisgICAgZC0+dGFiW3NdLmZhaWxz ID0gdHJhbnM7CiAgIGVsc2UKLSAgICBkLT50cmFuc1tzXSA9IHRyYW5zOworICAgIGQtPnRh YltzXS50cmFucyA9IHRyYW5zOwogfQogCiBzdGF0aWMgdm9pZAogYnVpbGRfc3RhdGVfemVy byAoc3RydWN0IGRmYSAqZCkKIHsKLSAgZC0+dHJhbGxvYyA9IDE7CisgIHN0cnVjdCBkZmF0 YWIgKnRhYl8xOworICBzaXplX3QgaSwgbmV3YWxsb2M7CiAgIGQtPnRyY291bnQgPSAwOwot ICBDQUxMT0MgKGQtPnJlYWx0cmFucywgZC0+dHJhbGxvYyArIDEpOwotICBkLT50cmFucyA9 IGQtPnJlYWx0cmFucyArIDE7Ci0gIENBTExPQyAoZC0+ZmFpbHMsIGQtPnRyYWxsb2MpOwot ICBNQUxMT0MgKGQtPnN1Y2Nlc3MsIGQtPnRyYWxsb2MpOwotICBNQUxMT0MgKGQtPm5ld2xp bmVzLCBkLT50cmFsbG9jKTsKKyAgZC0+dHJhbGxvYyA9IDA7CisgIHRhYl8xID0geDJucmVh bGxvYyAoTlVMTCwgJmQtPnRyYWxsb2MsIHNpemVvZiAqdGFiXzEpOworICBuZXdhbGxvYyA9 IGQtPnRyYWxsb2MtLTsKKyAgZC0+dGFiID0gdGFiXzEgKyAxOworICBmb3IgKGkgPSAwOyBp IDwgbmV3YWxsb2M7IGkrKykKKyAgICB0YWJfMVtpXS50cmFucyA9IHRhYl8xW2ldLmZhaWxz ID0gTlVMTDsKICAgYnVpbGRfc3RhdGUgKDAsIGQpOwogfQogCkBAIC0yOTcyLDMwICsyOTcx LDYgQEAgYnVpbGRfc3RhdGVfemVybyAoc3RydWN0IGRmYSAqZCkKICAgICAgICAgfQkJCQkJ CVwKICAgICB9CiAKLXN0YXRpYyB2b2lkCi1yZWFsbG9jX3RyYW5zX2lmX25lY2Vzc2FyeSAo c3RydWN0IGRmYSAqZCwgc3RhdGVfbnVtIG5ld19zdGF0ZSkKLXsKLSAgLyogTWFrZSBzdXJl IHRoYXQgdGhlIHRyYW5zIGFuZCBmYWlsIGFycmF5cyBhcmUgYWxsb2NhdGVkIGxhcmdlIGVu b3VnaAotICAgICB0byBob2xkIGEgcG9pbnRlciBmb3IgdGhlIG5ldyBzdGF0ZS4gICovCi0g IGlmIChuZXdfc3RhdGUgPj0gZC0+dHJhbGxvYykKLSAgICB7Ci0gICAgICBzdGF0ZV9udW0g b2xkYWxsb2MgPSBkLT50cmFsbG9jOwotCi0gICAgICB3aGlsZSAobmV3X3N0YXRlID49IGQt PnRyYWxsb2MpCi0gICAgICAgIGQtPnRyYWxsb2MgKj0gMjsKLSAgICAgIFJFQUxMT0MgKGQt PnJlYWx0cmFucywgZC0+dHJhbGxvYyArIDEpOwotICAgICAgZC0+dHJhbnMgPSBkLT5yZWFs dHJhbnMgKyAxOwotICAgICAgUkVBTExPQyAoZC0+ZmFpbHMsIGQtPnRyYWxsb2MpOwotICAg ICAgUkVBTExPQyAoZC0+c3VjY2VzcywgZC0+dHJhbGxvYyk7Ci0gICAgICBSRUFMTE9DIChk LT5uZXdsaW5lcywgZC0+dHJhbGxvYyk7Ci0gICAgICB3aGlsZSAob2xkYWxsb2MgPCBkLT50 cmFsbG9jKQotICAgICAgICB7Ci0gICAgICAgICAgZC0+dHJhbnNbb2xkYWxsb2NdID0gTlVM TDsKLSAgICAgICAgICBkLT5mYWlsc1tvbGRhbGxvYysrXSA9IE5VTEw7Ci0gICAgICAgIH0K LSAgICB9Ci19Ci0KIC8qIFJldHVybiB2YWx1ZXMgb2YgdHJhbnNpdF9zdGF0ZV9zaW5nbGVi eXRlLCBhbmQKICAgIHRyYW5zaXRfc3RhdGVfY29uc3VtZV8xY2hhci4gICovCiB0eXBlZGVm IGVudW0KQEAgLTMwMTMsMTQgKzI5ODgsMTQgQEAgc3RhdGljIHN0YXR1c190cmFuc2l0X3N0 YXRlCiB0cmFuc2l0X3N0YXRlX3NpbmdsZWJ5dGUgKHN0cnVjdCBkZmEgKmQsIHN0YXRlX251 bSBzLCB1bnNpZ25lZCBjaGFyIGNvbnN0ICpwLAogICAgICAgICAgICAgICAgICAgICAgICAg ICBzdGF0ZV9udW0gKiBuZXh0X3N0YXRlKQogewotICBzdGF0ZV9udW0gKnQ7CiAgIHN0YXRl X251bSB3b3JrcyA9IHM7CiAKICAgc3RhdHVzX3RyYW5zaXRfc3RhdGUgcnZhbCA9IFRSQU5T SVRfU1RBVEVfSU5fUFJPR1JFU1M7CiAKICAgd2hpbGUgKHJ2YWwgPT0gVFJBTlNJVF9TVEFU RV9JTl9QUk9HUkVTUykKICAgICB7Ci0gICAgICBpZiAoKHQgPSBkLT50cmFuc1t3b3Jrc10p ICE9IE5VTEwpCisgICAgICBzdGF0ZV9udW0gKnQgPSBkLT50YWJbd29ya3NdLnRyYW5zOwor ICAgICAgaWYgKHQpCiAgICAgICAgIHsKICAgICAgICAgICB3b3JrcyA9IHRbKnBdOwogICAg ICAgICAgIHJ2YWwgPSBUUkFOU0lUX1NUQVRFX0RPTkU7CkBAIC0zMDM2LDkgKzMwMTEsOSBA QCB0cmFuc2l0X3N0YXRlX3NpbmdsZWJ5dGUgKHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSBz LCB1bnNpZ25lZCBjaGFyIGNvbnN0ICpwLAogICAgICAgICAgICAgfQogICAgICAgICAgIHdv cmtzID0gMDsKICAgICAgICAgfQotICAgICAgZWxzZSBpZiAoZC0+ZmFpbHNbd29ya3NdKQor ICAgICAgZWxzZSBpZiAoZC0+dGFiW3dvcmtzXS5mYWlscykKICAgICAgICAgewotICAgICAg ICAgIHdvcmtzID0gZC0+ZmFpbHNbd29ya3NdWypwXTsKKyAgICAgICAgICB3b3JrcyA9IGQt PnRhYlt3b3Jrc10uZmFpbHNbKnBdOwogICAgICAgICAgIHJ2YWwgPSBUUkFOU0lUX1NUQVRF X0RPTkU7CiAgICAgICAgIH0KICAgICAgIGVsc2UKQEAgLTMxNzAsNyArMzE0NSw3IEBAIG1h dGNoX21iX2NoYXJzZXQgKHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSBzLCBwb3NpdGlvbiBw b3MsIHNpemVfdCBpZHgpCiAgIC8qIG1hdGNoIHdpdGggYSByYW5nZT8gICovCiAgIGZvciAo aSA9IDA7IGkgPCB3b3JrX21iYy0+bnJhbmdlczsgaSsrKQogICAgIHsKLSAgICAgIGlmICh3 b3JrX21iYy0+cmFuZ2Vfc3RzW2ldIDw9IHdjICYmIHdjIDw9IHdvcmtfbWJjLT5yYW5nZV9l bmRzW2ldKQorICAgICAgaWYgKHdvcmtfbWJjLT5yYW5nZXNbaV0uYmVnIDw9IHdjICYmIHdj IDw9IHdvcmtfbWJjLT5yYW5nZXNbaV0uZW5kKQogICAgICAgICBnb3RvIGNoYXJzZXRfbWF0 Y2hlZDsKICAgICB9CiAKQEAgLTMxOTksOSArMzE3NCw4IEBAIHN0YXRpYyBpbnQgKgogY2hl Y2tfbWF0Y2hpbmdfd2l0aF9tdWx0aWJ5dGVfb3BzIChzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9u dW0gcywgc2l6ZV90IGlkeCkKIHsKICAgc2l6ZV90IGk7Ci0gIGludCAqcmFycmF5OworICBp bnQgKnJhcnJheSA9IHhubWFsbG9jIChkLT5zdGF0ZXNbc10ubWJwcy5uZWxlbSwgc2l6ZW9m ICpyYXJyYXkpOwogCi0gIE1BTExPQyAocmFycmF5LCBkLT5zdGF0ZXNbc10ubWJwcy5uZWxl bSk7CiAgIGZvciAoaSA9IDA7IGkgPCBkLT5zdGF0ZXNbc10ubWJwcy5uZWxlbTsgKytpKQog ICAgIHsKICAgICAgIHBvc2l0aW9uIHBvcyA9IGQtPnN0YXRlc1tzXS5tYnBzLmVsZW1zW2ld OwpAQCAtMzQxMCw4ICszMzg0LDggQEAgZGZhZXhlYyAoc3RydWN0IGRmYSAqZCwgY2hhciBj b25zdCAqYmVnaW4sIGNoYXIgKmVuZCwKIHsKICAgc3RhdGVfbnVtIHMsIHMxOyAgICAgICAg ICAgICAgLyogQ3VycmVudCBzdGF0ZS4gICovCiAgIHVuc2lnbmVkIGNoYXIgY29uc3QgKnA7 ICAgICAgIC8qIEN1cnJlbnQgaW5wdXQgY2hhcmFjdGVyLiAgKi8KLSAgc3RhdGVfbnVtICoq dHJhbnMsICp0OyAgICAgICAgLyogQ29weSBvZiBkLT50cmFucyBzbyBpdCBjYW4gYmUgb3B0 aW1pemVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludG8gYSByZWdp c3Rlci4gICovCisgIHN0cnVjdCBkZmF0YWIgKnRhYjsJCS8qIEhlbHAgdGhlIGNvbXBpbGVy LiAgKi8KKyAgc3RhdGVfbnVtICp0OwogICB1bnNpZ25lZCBjaGFyIGVvbCA9IGVvbGJ5dGU7 ICAvKiBMaWtld2lzZSBmb3IgZW9sYnl0ZS4gICovCiAgIHVuc2lnbmVkIGNoYXIgc2F2ZWRf ZW5kOwogCkBAIC0zNDIwLDE0ICszMzk0LDE0IEBAIGRmYWV4ZWMgKHN0cnVjdCBkZmEgKmQs IGNoYXIgY29uc3QgKmJlZ2luLCBjaGFyICplbmQsCiAKICAgcyA9IHMxID0gMDsKICAgcCA9 ICh1bnNpZ25lZCBjaGFyIGNvbnN0ICopIGJlZ2luOwotICB0cmFucyA9IGQtPnRyYW5zOwor ICB0YWIgPSBkLT50YWI7CiAgIHNhdmVkX2VuZCA9ICoodW5zaWduZWQgY2hhciAqKSBlbmQ7 CiAgICplbmQgPSBlb2w7CiAKICAgaWYgKGQtPm1iX2N1cl9tYXggPiAxKQogICAgIHsKLSAg ICAgIE1BTExPQyAobWJsZW5fYnVmLCBlbmQgLSBiZWdpbiArIDIpOwotICAgICAgTUFMTE9D IChpbnB1dHdjcywgZW5kIC0gYmVnaW4gKyAyKTsKKyAgICAgIG1ibGVuX2J1ZiA9IHhubWFs bG9jIChlbmQgLSBiZWdpbiArIDIsIHNpemVvZiAqbWJsZW5fYnVmKTsKKyAgICAgIGlucHV0 d2NzID0geG5tYWxsb2MgKGVuZCAtIGJlZ2luICsgMiwgc2l6ZW9mICppbnB1dHdjcyk7CiAg ICAgICBtZW1zZXQgKCZtYnMsIDAsIHNpemVvZiAobWJzdGF0ZV90KSk7CiAgICAgICBwcmVw YXJlX3djX2J1ZiAoZCwgKGNvbnN0IGNoYXIgKikgcCwgZW5kKTsKICAgICB9CkBAIC0zNDM2 LDcgKzM0MTAsNyBAQCBkZmFleGVjIChzdHJ1Y3QgZGZhICpkLCBjaGFyIGNvbnN0ICpiZWdp biwgY2hhciAqZW5kLAogICAgIHsKICAgICAgIGlmIChkLT5tYl9jdXJfbWF4ID4gMSkKICAg ICAgICAgewotICAgICAgICAgIHdoaWxlICgodCA9IHRyYW5zW3NdKSAhPSBOVUxMKQorICAg ICAgICAgIHdoaWxlICgodCA9IHRhYltzXS50cmFucykgIT0gTlVMTCkKICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgaWYgKHAgPiBidWZfZW5kKQogICAgICAgICAgICAgICAgIGJy ZWFrOwpAQCAtMzQ2NSwxNSArMzQzOSwxNSBAQCBkZmFleGVjIChzdHJ1Y3QgZGZhICpkLCBj aGFyIGNvbnN0ICpiZWdpbiwgY2hhciAqZW5kLAogICAgICAgICAgICAgICAvKiBDYW4gbWF0 Y2ggd2l0aCBhIG11bHRpYnl0ZSBjaGFyYWN0ZXIgKGFuZCBtdWx0aSBjaGFyYWN0ZXIKICAg ICAgICAgICAgICAgICAgY29sbGF0aW5nIGVsZW1lbnQpLiAgVHJhbnNpdGlvbiB0YWJsZSBt aWdodCBiZSB1cGRhdGVkLiAgKi8KICAgICAgICAgICAgICAgcyA9IHRyYW5zaXRfc3RhdGUg KGQsIHMsICZwKTsKLSAgICAgICAgICAgICAgdHJhbnMgPSBkLT50cmFuczsKKyAgICAgICAg ICAgICAgdGFiID0gZC0+dGFiOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICBl bHNlCiAgICAgICAgIHsKLSAgICAgICAgICB3aGlsZSAoKHQgPSB0cmFuc1tzXSkgIT0gTlVM TCkKKyAgICAgICAgICB3aGlsZSAoKHQgPSB0YWJbc10udHJhbnMpICE9IE5VTEwpCiAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgIHMxID0gdFsqcCsrXTsKLSAgICAgICAgICAgICAg aWYgKCh0ID0gdHJhbnNbczFdKSA9PSBOVUxMKQorICAgICAgICAgICAgICBpZiAoKHQgPSB0 YWJbczFdLnRyYW5zKSA9PSBOVUxMKQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgIHN0YXRlX251bSB0bXAgPSBzOwogICAgICAgICAgICAgICAgICAgcyA9IHMxOwpA QCAtMzQ4NCw5ICszNDU4LDkgQEAgZGZhZXhlYyAoc3RydWN0IGRmYSAqZCwgY2hhciBjb25z dCAqYmVnaW4sIGNoYXIgKmVuZCwKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAg ICBpZiAocyA+PSAwICYmIChjaGFyICopIHAgPD0gZW5kICYmIGQtPmZhaWxzW3NdKQorICAg ICAgaWYgKHMgPj0gMCAmJiAoY2hhciAqKSBwIDw9IGVuZCAmJiBkLT50YWJbc10uZmFpbHMp CiAgICAgICAgIHsKLSAgICAgICAgICBpZiAoZC0+c3VjY2Vzc1tzXSAmIHNiaXRbKnBdKQor ICAgICAgICAgIGlmIChkLT50YWJbc10uc3VjY2VzcyAmIHNiaXRbKnBdKQogICAgICAgICAg ICAgewogICAgICAgICAgICAgICBpZiAoYmFja3JlZikKICAgICAgICAgICAgICAgICAqYmFj a3JlZiA9IChkLT5zdGF0ZXNbc10uYmFja3JlZiAhPSAwKTsKQEAgLTM1MDUsMTAgKzM0Nzks MTAgQEAgZGZhZXhlYyAoc3RydWN0IGRmYSAqZCwgY2hhciBjb25zdCAqYmVnaW4sIGNoYXIg KmVuZCwKICAgICAgICAgICAgICAgLyogQ2FuIG1hdGNoIHdpdGggYSBtdWx0aWJ5dGUgY2hh cmFjdGVyIChhbmQgbXVsdGljaGFyYWN0ZXIKICAgICAgICAgICAgICAgICAgY29sbGF0aW5n IGVsZW1lbnQpLiAgVHJhbnNpdGlvbiB0YWJsZSBtaWdodCBiZSB1cGRhdGVkLiAgKi8KICAg ICAgICAgICAgICAgcyA9IHRyYW5zaXRfc3RhdGUgKGQsIHMsICZwKTsKLSAgICAgICAgICAg ICAgdHJhbnMgPSBkLT50cmFuczsKKyAgICAgICAgICAgICAgdGFiID0gZC0+dGFiOwogICAg ICAgICAgICAgfQogICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHMgPSBkLT5mYWlsc1tz XVsqcCsrXTsKKyAgICAgICAgICAgIHMgPSBkLT50YWJbc10uZmFpbHNbKnArK107CiAgICAg ICAgICAgY29udGludWU7CiAgICAgICAgIH0KIApAQCAtMzUzNywxMyArMzUxMSwxMyBAQCBk ZmFleGVjIChzdHJ1Y3QgZGZhICpkLCBjaGFyIGNvbnN0ICpiZWdpbiwgY2hhciAqZW5kLAog ICAgICAgaWYgKHMgPj0gMCkKICAgICAgICAgewogICAgICAgICAgIGJ1aWxkX3N0YXRlIChz LCBkKTsKLSAgICAgICAgICB0cmFucyA9IGQtPnRyYW5zOworICAgICAgICAgIHRhYiA9IGQt PnRhYjsKICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCiAgICAgICBpZiAocFst MV0gPT0gZW9sICYmIGFsbG93X25sKQogICAgICAgICB7Ci0gICAgICAgICAgcyA9IGQtPm5l d2xpbmVzW3MxXTsKKyAgICAgICAgICBzID0gZC0+dGFiW3MxXS5uZXdsaW5lczsKICAgICAg ICAgICBjb250aW51ZTsKICAgICAgICAgfQogCkBAIC0zNTY1LDggKzM1MzksNyBAQCBmcmVl X21iZGF0YSAoc3RydWN0IGRmYSAqZCkKICAgICAgIHN0cnVjdCBtYl9jaGFyX2NsYXNzZXMg KnAgPSAmKGQtPm1iY3NldHNbaV0pOwogICAgICAgZnJlZSAocC0+Y2hhcnMpOwogICAgICAg ZnJlZSAocC0+Y2hfY2xhc3Nlcyk7Ci0gICAgICBmcmVlIChwLT5yYW5nZV9zdHMpOwotICAg ICAgZnJlZSAocC0+cmFuZ2VfZW5kcyk7CisgICAgICBmcmVlIChwLT5yYW5nZXMpOwogCiAg ICAgICBmb3IgKGogPSAwOyBqIDwgcC0+bmVxdWl2czsgKytqKQogICAgICAgICBmcmVlIChw LT5lcXVpdnNbal0pOwpAQCAtMzU4OCwyMiArMzU2MSw3IEBAIHZvaWQKIGRmYWluaXQgKHN0 cnVjdCBkZmEgKmQpCiB7CiAgIG1lbXNldCAoZCwgMCwgc2l6ZW9mICpkKTsKLQotICBkLT5j YWxsb2MgPSAxOwotICBNQUxMT0MgKGQtPmNoYXJjbGFzc2VzLCBkLT5jYWxsb2MpOwotCi0g IGQtPnRhbGxvYyA9IDE7Ci0gIE1BTExPQyAoZC0+dG9rZW5zLCBkLT50YWxsb2MpOwotCiAg IGQtPm1iX2N1cl9tYXggPSBNQl9DVVJfTUFYOwotCi0gIGlmIChkLT5tYl9jdXJfbWF4ID4g MSkKLSAgICB7Ci0gICAgICBkLT5ubXVsdGlieXRlX3Byb3AgPSAxOwotICAgICAgTUFMTE9D IChkLT5tdWx0aWJ5dGVfcHJvcCwgZC0+bm11bHRpYnl0ZV9wcm9wKTsKLSAgICAgIGQtPm1i Y3NldHNfYWxsb2MgPSAxOwotICAgICAgTUFMTE9DIChkLT5tYmNzZXRzLCBkLT5tYmNzZXRz X2FsbG9jKTsKLSAgICB9CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0zNjcwLDEzICszNjI4LDEw IEBAIGRmYWZyZWUgKHN0cnVjdCBkZmEgKmQpCiAgIGZyZWUgKGQtPmZvbGxvd3MpOwogICBm b3IgKGkgPSAwOyBpIDwgZC0+dHJhbGxvYzsgKytpKQogICAgIHsKLSAgICAgIGZyZWUgKGQt PnRyYW5zW2ldKTsKLSAgICAgIGZyZWUgKGQtPmZhaWxzW2ldKTsKKyAgICAgIGZyZWUgKGQt PnRhYltpXS50cmFucyk7CisgICAgICBmcmVlIChkLT50YWJbaV0uZmFpbHMpOwogICAgIH0K LSAgZnJlZSAoZC0+cmVhbHRyYW5zKTsKLSAgZnJlZSAoZC0+ZmFpbHMpOwotICBmcmVlIChk LT5uZXdsaW5lcyk7Ci0gIGZyZWUgKGQtPnN1Y2Nlc3MpOworICBmcmVlIChkLT50YWIgLSAx KTsKICAgZm9yIChkbSA9IGQtPm11c3RzOyBkbTsgZG0gPSBuZG0pCiAgICAgewogICAgICAg bmRtID0gZG0tPm5leHQ7CkBAIC0zODQ5LDcgKzM4MDQsNyBAQCBlbmxpc3QgKGNoYXIgKipj cHAsIGNoYXIgKm5ldywgc2l6ZV90IGxlbikKICAgICAgICAgY3BwW2ldID0gTlVMTDsKICAg ICAgIH0KICAgLyogQWRkIHRoZSBuZXcgc3RyaW5nLiAgKi8KLSAgUkVBTExPQyAoY3BwLCBp ICsgMik7CisgIGNwcCA9IHhucmVhbGxvYyAoY3BwLCBpICsgMiwgc2l6ZW9mICpjcHApOwog ICBjcHBbaV0gPSBuZXc7CiAgIGNwcFtpICsgMV0gPSBOVUxMOwogICByZXR1cm4gY3BwOwpA QCAtMzk4Miw3ICszOTM3LDcgQEAgZGZhbXVzdCAoc3RydWN0IGRmYSAqZCkKIAogICByZXN1 bHQgPSBlbXB0eV9zdHJpbmc7CiAgIGV4YWN0ID0gMDsKLSAgTUFMTE9DIChtdXN0cywgZC0+ dGluZGV4ICsgMSk7CisgIG11c3RzID0geG5tYWxsb2MgKGQtPnRpbmRleCArIDEsIHNpemVv ZiAqbXVzdHMpOwogICBtcCA9IG11c3RzOwogICBmb3IgKGkgPSAwOyBpIDw9IGQtPnRpbmRl eDsgKytpKQogICAgIG1wW2ldID0gbXVzdDA7CkBAIC00MTY5LDcgKzQxMjQsNyBAQCBkZmFt dXN0IChzdHJ1Y3QgZGZhICpkKQogZG9uZToKICAgaWYgKHN0cmxlbiAocmVzdWx0KSkKICAg ICB7Ci0gICAgICBNQUxMT0MgKGRtLCAxKTsKKyAgICAgIGRtID0geG1hbGxvYyAoc2l6ZW9m ICpkbSk7CiAgICAgICBkbS0+ZXhhY3QgPSBleGFjdDsKICAgICAgIGRtLT5tdXN0ID0geG1l bWR1cCAocmVzdWx0LCBzdHJsZW4gKHJlc3VsdCkgKyAxKTsKICAgICAgIGRtLT5uZXh0ID0g ZC0+bXVzdHM7Ci0tIAoxLjkuMAoK --------------010202020402050004060400-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 18 01:59:39 2014 Received: (at 17136-done) by debbugs.gnu.org; 18 Apr 2014 05:59:39 +0000 Received: from localhost ([127.0.0.1]:51476 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wb1po-0000Js-6d for submit@debbugs.gnu.org; Fri, 18 Apr 2014 01:59:39 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:49687) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wb1ph-0000JP-4f for 17136-done@debbugs.gnu.org; Fri, 18 Apr 2014 01:59:33 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 24E4139E807B for <17136-done@debbugs.gnu.org>; Thu, 17 Apr 2014 22:59:23 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T9eXmyLzhRUt for <17136-done@debbugs.gnu.org>; Thu, 17 Apr 2014 22:59:17 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id C4BB4A6001A for <17136-done@debbugs.gnu.org>; Thu, 17 Apr 2014 22:59:17 -0700 (PDT) Message-ID: <5350BF35.5040407@cs.ucla.edu> Date: Thu, 17 Apr 2014 22:59:17 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: 17136-done@debbugs.gnu.org Subject: Re: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX References: <533621D9.2010506@cs.ucla.edu> In-Reply-To: <533621D9.2010506@cs.ucla.edu> Content-Type: multipart/mixed; boundary="------------030503010107060906000501" X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17136-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) This is a multi-part message in MIME format. --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I merged that patch into the grep trunk and am closing this bug report. While merging, I removed one part of the patch that had a small but measurable performance degradation, namely, the introduction of struct dfatab. I found some other minor simplifications and threw them in. There seems to be no significant change in CPU performance. The patch's causes the dfa module's text size to shrink by 8% on my platform (x86-64 Fedora 20), which I suppose is a small win, but the main point of the patch is simplifying the source. I'm attaching what I installed, broken into 12 little patches to ease review. --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0001-dfa-clarify-memory-allocation-and-port-to-IRIX.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-dfa-clarify-memory-allocation-and-port-to-IRIX.patch" RnJvbSA2NjIwYjU0ZWQzZjQ4NWU2YWU2NTJkZjljOGI4YTIzYzhmNjMxMWI1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDE1IEFwciAyMDE0IDE3OjI5OjQ3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwMS8xMl0gZGZhOiBjbGFyaWZ5IG1lbW9yeSBhbGxvY2F0aW9uIGFuZCBwb3J0IHRvIElS SVgKClRoaXMgY2hhbmdlIHdhcyBwcm9tcHRlZCBieSBhIHBvcnRpbmcgcHJvYmxlbToKSVJJ WCBkZWZpbmVzIGl0cyBvd24gTUFMTE9DIG1hY3JvLCB3aGljaCBjbGFzaGVzIHdpdGggb3Vy cy4KTW9yZSBnZW5lcmFsbHksIHRoZSBNQUxMT0MgZXRjLiBtYWNyb3MgYXJlIGNvbmZ1c2lu ZywgYXMgdGhleQpsb29rIGxpa2UgZnVuY3Rpb25zIGJ1dCBkbyBub3QgaGF2ZSBDLWZ1bmN0 aW9uIHNlbWFudGljcy4KQSBmdW5jdGlvbmFsIHN0eWxlIG1ha2VzIHRoZSBjb2RlIGVhc2ll ciB0byByZWFkLCBhbmQgdGhvdWdoCml0IGxlbmd0aGVucyB0aGUgY29kZSBhIGJpdCBoZXJl IGl0J2xsIG1ha2Ugb3RoZXIKc2ltcGxpZmljYXRpb25zIGVhc2llci4KKiBzcmMvZGZhLmMg KFhOTUFMTE9DLCBYQ0FMTE9DLCBDQUxMT0MsIE1BTExPQywgUkVBTExPQyk6IFJlbW92ZS4K QWxsIHVzZXMgcmVwbGFjZWQgYnkgeG5tYWxsb2MgZXRjLgooUkVBTExPQ19JRl9ORUNFU1NB UlkpOiBSZW1vdmU7IGFsbCB1c2VzIHJlcGxhY2VkIGJ5IC4uLi4KKG1heWJlX3JlYWxsb2Mp OiBOZXcgZnVuY3Rpb24uCihjb3B5LCBtZXJnZSk6IEZyZWUgYW5kIGFsbG9jYXRlIHJhdGhl ciB0aGFuIHJlYWxsb2MsIGFzIHdlCm5lZWRuJ3Qgc2F2ZSB0aGUgY29udGVudHMuCi0tLQog c3JjL2RmYS5jIHwgMjExICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTEwIGluc2VydGlv bnMoKyksIDEwMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvZGZhLmMgYi9zcmMv ZGZhLmMKaW5kZXggMmI2YzVkNi4uOWU4ODc0MiAxMDA2NDQKLS0tIGEvc3JjL2RmYS5jCisr KyBiL3NyYy9kZmEuYwpAQCAtNDU3LDQwICs0NTcsNiBAQCBzdHJ1Y3QgZGZhCiBzdGF0aWMg dm9pZCBkZmFtdXN0IChzdHJ1Y3QgZGZhICpkZmEpOwogc3RhdGljIHZvaWQgcmVnZXhwICh2 b2lkKTsKIAotLyogVGhlc2UgdHdvIG1hY3JvcyBhcmUgaWRlbnRpY2FsIHRvIHRoZSBvbmVz IGluIGdudWxpYidzIHhhbGxvYy5oLAotICAgZXhjZXB0IHRoYXQgdGhleSBkbyBub3QgY2Fz dCB0aGUgcmVzdWx0IHRvICIodCAqKSIsIGFuZCB0aHVzIG1heQotICAgYmUgdXNlZCB2aWEg dHlwZS1mcmVlIENBTExPQyBhbmQgTUFMTE9DIG1hY3Jvcy4gICovCi0jdW5kZWYgWE5NQUxM T0MKLSN1bmRlZiBYQ0FMTE9DCi0KLS8qIEFsbG9jYXRlIG1lbW9yeSBmb3IgTiBlbGVtZW50 cyBvZiB0eXBlIFQsIHdpdGggZXJyb3IgY2hlY2tpbmcuICAqLwotLyogZXh0ZXJuIHQgKlhO TUFMTE9DIChzaXplX3QgbiwgdHlwZW5hbWUgdCk7ICovCi0jIGRlZmluZSBYTk1BTExPQyhu LCB0KSBcCi0gICAgKHNpemVvZiAodCkgPT0gMSA/IHhtYWxsb2MgKG4pIDogeG5tYWxsb2Mg KG4sIHNpemVvZiAodCkpKQotCi0vKiBBbGxvY2F0ZSBtZW1vcnkgZm9yIE4gZWxlbWVudHMg b2YgdHlwZSBULCB3aXRoIGVycm9yIGNoZWNraW5nLAotICAgYW5kIHplcm8gaXQuICAqLwot LyogZXh0ZXJuIHQgKlhDQUxMT0MgKHNpemVfdCBuLCB0eXBlbmFtZSB0KTsgKi8KLSMgZGVm aW5lIFhDQUxMT0MobiwgdCkgXAotICAgIChzaXplb2YgKHQpID09IDEgPyB4emFsbG9jIChu KSA6IHhjYWxsb2MgKG4sIHNpemVvZiAodCkpKQotCi0jZGVmaW5lIENBTExPQyhwLCBuKSBk byB7IChwKSA9IFhDQUxMT0MgKG4sICoocCkpOyB9IHdoaWxlICgwKQotI2RlZmluZSBNQUxM T0MocCwgbikgZG8geyAocCkgPSBYTk1BTExPQyAobiwgKihwKSk7IH0gd2hpbGUgKDApCi0j ZGVmaW5lIFJFQUxMT0MocCwgbikgZG8geyhwKSA9IHhucmVhbGxvYyAocCwgbiwgc2l6ZW9m ICgqKHApKSk7IH0gd2hpbGUgKDApCi0KLS8qIFJlYWxsb2NhdGUgYW4gYXJyYXkgb2YgdHlw ZSAqUCBpZiBOX0FMTE9DIGlzIDw9IE5fUkVRVUlSRUQuICAqLwotI2RlZmluZSBSRUFMTE9D X0lGX05FQ0VTU0FSWShwLCBuX2FsbG9jLCBuX3JlcXVpcmVkKQkJXAotICBkbwkJCQkJCQkJ XAotICAgIHsJCQkJCQkJCVwKLSAgICAgIGlmICgobl9hbGxvYykgPD0gKG5fcmVxdWlyZWQp KQkJCQlcCi0gICAgICAgIHsJCQkJCQkJXAotICAgICAgICAgIHNpemVfdCBuZXdfbl9hbGxv YyA9IChuX3JlcXVpcmVkKSArICEocCk7CQlcCi0gICAgICAgICAgKHApID0geDJucmVhbGxv YyAocCwgJm5ld19uX2FsbG9jLCBzaXplb2YgKCoocCkpKTsJXAotICAgICAgICAgIChuX2Fs bG9jKSA9IG5ld19uX2FsbG9jOwkJCQlcCi0gICAgICAgIH0JCQkJCQkJXAotICAgIH0JCQkJ CQkJCVwKLSAgd2hpbGUgKGZhbHNlKQotCiBzdGF0aWMgdm9pZAogZGZhbWJjYWNoZSAoc3Ry dWN0IGRmYSAqZCkKIHsKQEAgLTY3MSw2ICs2MzcsMTkgQEAgZXF1YWwgKGNoYXJjbGFzcyBj b25zdCBzMSwgY2hhcmNsYXNzIGNvbnN0IHMyKQogICByZXR1cm4gbWVtY21wIChzMSwgczIs IHNpemVvZiAoY2hhcmNsYXNzKSkgPT0gMDsKIH0KIAorLyogSWYgbmVlZGVkLCByZWFsbG9j YXRlICpQVFIgc28gdGhhdCBpdCBob2xkcyBhdCBsZWFzdCBOSVRFTVMgaXRlbXMuCisgICBU aGUgYXJyYXkgaG9sZHMgKk5BTExPQyBpdGVtczsgKk5BTExPQyBpcyB1cGRhdGVkIG9uIHJl YWxsb2NhdGlvbi4KKyAgIElURU1TSVpFIGlzIHRoZSBzaXplIG9mIG9uZSBpdGVtLiAgQXZv aWQgTyhOKioyKSBiZWhhdmlvciBvbiBhcnJheXMKKyAgIGdyb3dpbmcgbGluZWFybHkuICAq Lworc3RhdGljIHZvaWQgKgorbWF5YmVfcmVhbGxvYyAodm9pZCAqcHRyLCBzaXplX3Qgbml0 ZW1zLCBzaXplX3QgKm5hbGxvYywgc2l6ZV90IGl0ZW1zaXplKQoreworICBpZiAobml0ZW1z IDwgKm5hbGxvYykKKyAgICByZXR1cm4gcHRyOworICAqbmFsbG9jID0gbml0ZW1zOworICBy ZXR1cm4geDJucmVhbGxvYyAocHRyLCBuYWxsb2MsIGl0ZW1zaXplKTsKK30KKwogLyogSW4g REZBIEQsIGZpbmQgdGhlIGluZGV4IG9mIGNoYXJjbGFzcyBTLCBvciBhbGxvY2F0ZSBhIG5l dyBvbmUuICAqLwogc3RhdGljIHNpemVfdAogZGZhX2NoYXJjbGFzc19pbmRleCAoc3RydWN0 IGRmYSAqZCwgY2hhcmNsYXNzIGNvbnN0IHMpCkBAIC02ODAsNyArNjU5LDggQEAgZGZhX2No YXJjbGFzc19pbmRleCAoc3RydWN0IGRmYSAqZCwgY2hhcmNsYXNzIGNvbnN0IHMpCiAgIGZv ciAoaSA9IDA7IGkgPCBkLT5jaW5kZXg7ICsraSkKICAgICBpZiAoZXF1YWwgKHMsIGQtPmNo YXJjbGFzc2VzW2ldKSkKICAgICAgIHJldHVybiBpOwotICBSRUFMTE9DX0lGX05FQ0VTU0FS WSAoZC0+Y2hhcmNsYXNzZXMsIGQtPmNhbGxvYywgZC0+Y2luZGV4ICsgMSk7CisgIGQtPmNo YXJjbGFzc2VzID0gbWF5YmVfcmVhbGxvYyAoZC0+Y2hhcmNsYXNzZXMsIGQtPmNpbmRleCwg JmQtPmNhbGxvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg KmQtPmNoYXJjbGFzc2VzKTsKICAgKytkLT5jaW5kZXg7CiAgIGNvcHlzZXQgKHMsIGQtPmNo YXJjbGFzc2VzW2ldKTsKICAgcmV0dXJuIGk7CkBAIC0xMDMxLDggKzEwMTEsOSBAQCBwYXJz ZV9icmFja2V0X2V4cCAodm9pZCkKICAgY2hfY2xhc3Nlc19hbCA9IGVxdWl2c19hbCA9IGNv bGxfZWxlbXNfYWwgPSAwOwogICBpZiAoTUJfQ1VSX01BWCA+IDEpCiAgICAgewotICAgICAg UkVBTExPQ19JRl9ORUNFU1NBUlkgKGRmYS0+bWJjc2V0cywgZGZhLT5tYmNzZXRzX2FsbG9j LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRmYS0+bm1iY3NldHMgKyAxKTsKKyAg ICAgIGRmYS0+bWJjc2V0cyA9IG1heWJlX3JlYWxsb2MgKGRmYS0+bWJjc2V0cywgZGZhLT5u bWJjc2V0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkZmEtPm1i Y3NldHNfYWxsb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl b2YgKmRmYS0+bWJjc2V0cyk7CiAKICAgICAgIC8qIGRmYS0+bXVsdGlieXRlX3Byb3BbXSBo b2xkIHRoZSBpbmRleCBvZiBkZmEtPm1iY3NldHMuCiAgICAgICAgICBXZSB3aWxsIHVwZGF0 ZSBkZmEtPm11bHRpYnl0ZV9wcm9wW10gaW4gYWRkdG9rLCBiZWNhdXNlIHdlIGNhbid0CkBA IC0xMTA5LDkgKzEwOTAsMTAgQEAgcGFyc2VfYnJhY2tldF9leHAgKHZvaWQpCiAgICAgICAg ICAgICAgICAgICAgICAgLyogU3RvcmUgdGhlIGNoYXJhY3RlciBjbGFzcyBhcyB3Y3R5cGVf dC4gICovCiAgICAgICAgICAgICAgICAgICAgICAgd2N0eXBlX3Qgd3QgPSB3Y3R5cGUgKGNs YXNzKTsKIAotICAgICAgICAgICAgICAgICAgICAgIFJFQUxMT0NfSUZfTkVDRVNTQVJZICh3 b3JrX21iYy0+Y2hfY2xhc3NlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2hfY2xhc3Nlc19hbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgd29ya19tYmMtPm5jaF9jbGFzc2VzICsgMSk7CisgICAgICAg ICAgICAgICAgICAgICAgd29ya19tYmMtPmNoX2NsYXNzZXMKKyAgICAgICAgICAgICAgICAg ICAgICAgID0gbWF5YmVfcmVhbGxvYyAod29ya19tYmMtPmNoX2NsYXNzZXMsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5uY2hfY2xhc3Nl cywgJmNoX2NsYXNzZXNfYWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpemVvZiAqd29ya19tYmMtPmNoX2NsYXNzZXMpOwogICAgICAgICAgICAgICAg ICAgICAgIHdvcmtfbWJjLT5jaF9jbGFzc2VzW3dvcmtfbWJjLT5uY2hfY2xhc3NlcysrXSA9 IHd0OwogICAgICAgICAgICAgICAgICAgICB9CiAKQEAgLTExNjQsMTAgKzExNDYsMTQgQEAg cGFyc2VfYnJhY2tldF9leHAgKHZvaWQpCiAgICAgICAgICAgICAgICAgICAgICB0byB0aGUg cGFpciBvZiByYW5nZXMsIFttLXpdIFtNLVpdLiAgQWx0aG91Z2ggdGhpcyBjb2RlCiAgICAg ICAgICAgICAgICAgICAgICBpcyB3cm9uZyBpbiBtdWx0aXBsZSB3YXlzLCBpdCdzIG5ldmVy IHVzZWQgaW4gcHJhY3RpY2UuCiAgICAgICAgICAgICAgICAgICAgICBGSVhNRTogUmVtb3Zl IHRoaXMgKGFuZCByZWxhdGVkKSB1bnVzZWQgY29kZS4gICovCi0gICAgICAgICAgICAgICAg ICBSRUFMTE9DX0lGX05FQ0VTU0FSWSAod29ya19tYmMtPnJhbmdlX3N0cywKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW5nZV9zdHNfYWwsIHdvcmtfbWJj LT5ucmFuZ2VzICsgMSk7Ci0gICAgICAgICAgICAgICAgICBSRUFMTE9DX0lGX05FQ0VTU0FS WSAod29ya19tYmMtPnJhbmdlX2VuZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmFuZ2VfZW5kc19hbCwgd29ya19tYmMtPm5yYW5nZXMgKyAxKTsKKyAg ICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5yYW5nZV9zdHMKKyAgICAgICAgICAgICAgICAg ICAgPSBtYXliZV9yZWFsbG9jICh3b3JrX21iYy0+cmFuZ2Vfc3RzLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5ucmFuZ2VzLCAmcmFuZ2Vfc3Rz X2FsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAqd29y a19tYmMtPnJhbmdlX3N0cyk7CisgICAgICAgICAgICAgICAgICB3b3JrX21iYy0+cmFuZ2Vf ZW5kcworICAgICAgICAgICAgICAgICAgICA9IG1heWJlX3JlYWxsb2MgKHdvcmtfbWJjLT5y YW5nZV9lbmRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtf bWJjLT5ucmFuZ2VzLCAmcmFuZ2VfZW5kc19hbCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaXplb2YgKndvcmtfbWJjLT5yYW5nZV9lbmRzKTsKICAgICAgICAg ICAgICAgICAgIHdvcmtfbWJjLT5yYW5nZV9zdHNbd29ya19tYmMtPm5yYW5nZXNdID0KICAg ICAgICAgICAgICAgICAgICAgY2FzZV9mb2xkID8gdG93bG93ZXIgKHdjKSA6ICh3Y2hhcl90 KSB3YzsKICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5yYW5nZV9lbmRzW3dvcmtfbWJj LT5ucmFuZ2VzKytdID0KQEAgLTExNzUsMTEgKzExNjEsMTUgQEAgcGFyc2VfYnJhY2tldF9l eHAgKHZvaWQpCiAKICAgICAgICAgICAgICAgICAgIGlmIChjYXNlX2ZvbGQgJiYgKGlzd2Fs cGhhICh3YykgfHwgaXN3YWxwaGEgKHdjMikpKQogICAgICAgICAgICAgICAgICAgICB7Ci0g ICAgICAgICAgICAgICAgICAgICAgUkVBTExPQ19JRl9ORUNFU1NBUlkgKHdvcmtfbWJjLT5y YW5nZV9zdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJhbmdlX3N0c19hbCwgd29ya19tYmMtPm5yYW5nZXMgKyAxKTsKKyAgICAgICAgICAgICAg ICAgICAgICB3b3JrX21iYy0+cmFuZ2Vfc3RzCisgICAgICAgICAgICAgICAgICAgICAgICA9 IG1heWJlX3JlYWxsb2MgKHdvcmtfbWJjLT5yYW5nZV9zdHMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5ucmFuZ2VzLCAmcmFuZ2Vfc3Rz X2FsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg KndvcmtfbWJjLT5yYW5nZV9zdHMpOwogICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJj LT5yYW5nZV9zdHNbd29ya19tYmMtPm5yYW5nZXNdID0gdG93dXBwZXIgKHdjKTsKLSAgICAg ICAgICAgICAgICAgICAgICBSRUFMTE9DX0lGX05FQ0VTU0FSWSAod29ya19tYmMtPnJhbmdl X2VuZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJh bmdlX2VuZHNfYWwsIHdvcmtfbWJjLT5ucmFuZ2VzICsgMSk7CisgICAgICAgICAgICAgICAg ICAgICAgd29ya19tYmMtPnJhbmdlX2VuZHMKKyAgICAgICAgICAgICAgICAgICAgICAgID0g bWF5YmVfcmVhbGxvYyAod29ya19tYmMtPnJhbmdlX2VuZHMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5ucmFuZ2VzLCAmcmFuZ2VfZW5k c19hbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9m ICp3b3JrX21iYy0+cmFuZ2VfZW5kcyk7CiAgICAgICAgICAgICAgICAgICAgICAgd29ya19t YmMtPnJhbmdlX2VuZHNbd29ya19tYmMtPm5yYW5nZXMrK10gPSB0b3d1cHBlciAod2MyKTsK ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KQEAgLTEyMjgsMTYg KzEyMTgsMTcgQEAgcGFyc2VfYnJhY2tldF9leHAgKHZvaWQpCiAgICAgICAgIHsKICAgICAg ICAgICB3Y2hhcl90IGZvbGRlZFtDQVNFX0ZPTERFRF9CVUZTSVpFXTsKICAgICAgICAgICBp bnQgaSwgbiA9IGNhc2VfZm9sZGVkX2NvdW50ZXJwYXJ0cyAod2MsIGZvbGRlZCk7Ci0gICAg ICAgICAgUkVBTExPQ19JRl9ORUNFU1NBUlkgKHdvcmtfbWJjLT5jaGFycywgY2hhcnNfYWws Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5uY2hhcnMgKyBu KTsKKyAgICAgICAgICB3b3JrX21iYy0+Y2hhcnMgPSBtYXliZV9yZWFsbG9jICh3b3JrX21i Yy0+Y2hhcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg d29ya19tYmMtPm5jaGFycyArIG4sICZjaGFyc19hbCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKndvcmtfbWJjLT5jaGFycyk7CiAgICAg ICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykKICAgICAgICAgICAgIGlmICghc2V0Yml0 X3djIChmb2xkZWRbaV0sIGNjbCkpCiAgICAgICAgICAgICAgIHdvcmtfbWJjLT5jaGFyc1t3 b3JrX21iYy0+bmNoYXJzKytdID0gZm9sZGVkW2ldOwogICAgICAgICB9CiAgICAgICBpZiAo IXNldGJpdF93YyAod2MsIGNjbCkpCiAgICAgICAgIHsKLSAgICAgICAgICBSRUFMTE9DX0lG X05FQ0VTU0FSWSAod29ya19tYmMtPmNoYXJzLCBjaGFyc19hbCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgd29ya19tYmMtPm5jaGFycyArIDEpOworICAgICAgICAgIHdv cmtfbWJjLT5jaGFycyA9IG1heWJlX3JlYWxsb2MgKHdvcmtfbWJjLT5jaGFycywgd29ya19t YmMtPm5jaGFycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmY2hhcnNfYWwsIHNpemVvZiAqd29ya19tYmMtPmNoYXJzKTsKICAgICAgICAgICB3b3Jr X21iYy0+Y2hhcnNbd29ya19tYmMtPm5jaGFycysrXSA9IHdjOwogICAgICAgICB9CiAgICAg fQpAQCAtMTYwNCwxMiArMTU5NSwxNCBAQCBhZGR0b2tfbWIgKHRva2VuIHQsIGludCBtYnBy b3ApCiB7CiAgIGlmIChNQl9DVVJfTUFYID4gMSkKICAgICB7Ci0gICAgICBSRUFMTE9DX0lG X05FQ0VTU0FSWSAoZGZhLT5tdWx0aWJ5dGVfcHJvcCwgZGZhLT5ubXVsdGlieXRlX3Byb3As Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGZhLT50aW5kZXggKyAxKTsKKyAgICAg IGRmYS0+bXVsdGlieXRlX3Byb3AgPSBtYXliZV9yZWFsbG9jIChkZmEtPm11bHRpYnl0ZV9w cm9wLCBkZmEtPnRpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZGZhLT5ubXVsdGlieXRlX3Byb3AsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mICpkZmEtPm11bHRpYnl0ZV9wcm9wKTsKICAg ICAgIGRmYS0+bXVsdGlieXRlX3Byb3BbZGZhLT50aW5kZXhdID0gbWJwcm9wOwogICAgIH0K IAotICBSRUFMTE9DX0lGX05FQ0VTU0FSWSAoZGZhLT50b2tlbnMsIGRmYS0+dGFsbG9jLCBk ZmEtPnRpbmRleCArIDEpOworICBkZmEtPnRva2VucyA9IG1heWJlX3JlYWxsb2MgKGRmYS0+ dG9rZW5zLCBkZmEtPnRpbmRleCwgJmRmYS0+dGFsbG9jLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVvZiAqZGZhLT50b2tlbnMpOwogICBkZmEtPnRva2Vuc1tkZmEt PnRpbmRleCsrXSA9IHQ7CiAKICAgc3dpdGNoICh0KQpAQCAtMjAwMCwxOSArMTk5MywyNCBA QCBkZmFwYXJzZSAoY2hhciBjb25zdCAqcywgc2l6ZV90IGxlbiwgc3RydWN0IGRmYSAqZCkK IAogLyogU29tZSBwcmltaXRpdmVzIGZvciBvcGVyYXRpbmcgb24gc2V0cyBvZiBwb3NpdGlv bnMuICAqLwogCi0vKiBDb3B5IG9uZSBzZXQgdG8gYW5vdGhlcjsgdGhlIGRlc3RpbmF0aW9u IG11c3QgYmUgbGFyZ2UgZW5vdWdoLiAgKi8KKy8qIENvcHkgb25lIHNldCB0byBhbm90aGVy LiAgKi8KIHN0YXRpYyB2b2lkCiBjb3B5IChwb3NpdGlvbl9zZXQgY29uc3QgKnNyYywgcG9z aXRpb25fc2V0ICogZHN0KQogewotICBSRUFMTE9DX0lGX05FQ0VTU0FSWSAoZHN0LT5lbGVt cywgZHN0LT5hbGxvYywgc3JjLT5uZWxlbSk7Ci0gIG1lbWNweSAoZHN0LT5lbGVtcywgc3Jj LT5lbGVtcywgc2l6ZW9mIChkc3QtPmVsZW1zWzBdKSAqIHNyYy0+bmVsZW0pOworICBpZiAo ZHN0LT5hbGxvYyA8IHNyYy0+bmVsZW0pCisgICAgeworICAgICAgZnJlZSAoZHN0LT5lbGVt cyk7CisgICAgICBkc3QtPmFsbG9jID0gc3JjLT5uZWxlbTsKKyAgICAgIGRzdC0+ZWxlbXMg PSB4Mm5yZWFsbG9jIChOVUxMLCAmZHN0LT5hbGxvYywgc2l6ZW9mICpkc3QtPmVsZW1zKTsK KyAgICB9CisgIG1lbWNweSAoZHN0LT5lbGVtcywgc3JjLT5lbGVtcywgc3JjLT5uZWxlbSAq IHNpemVvZiAqZHN0LT5lbGVtcyk7CiAgIGRzdC0+bmVsZW0gPSBzcmMtPm5lbGVtOwogfQog CiBzdGF0aWMgdm9pZAogYWxsb2NfcG9zaXRpb25fc2V0IChwb3NpdGlvbl9zZXQgKiBzLCBz aXplX3Qgc2l6ZSkKIHsKLSAgTUFMTE9DIChzLT5lbGVtcywgc2l6ZSk7CisgIHMtPmVsZW1z ID0geG5tYWxsb2MgKHNpemUsIHNpemVvZiAqcy0+ZWxlbXMpOwogICBzLT5hbGxvYyA9IHNp emU7CiAgIHMtPm5lbGVtID0gMDsKIH0KQEAgLTIwNDIsNyArMjA0MCw3IEBAIGluc2VydCAo cG9zaXRpb24gcCwgcG9zaXRpb25fc2V0ICogcykKICAgICAgIHJldHVybjsKICAgICB9CiAK LSAgUkVBTExPQ19JRl9ORUNFU1NBUlkgKHMtPmVsZW1zLCBzLT5hbGxvYywgY291bnQgKyAx KTsKKyAgcy0+ZWxlbXMgPSBtYXliZV9yZWFsbG9jIChzLT5lbGVtcywgY291bnQsICZzLT5h bGxvYywgc2l6ZW9mICpzLT5lbGVtcyk7CiAgIGZvciAoaSA9IGNvdW50OyBpID4gbG87IGkt LSkKICAgICBzLT5lbGVtc1tpXSA9IHMtPmVsZW1zW2kgLSAxXTsKICAgcy0+ZWxlbXNbbG9d ID0gcDsKQEAgLTIwNTYsNyArMjA1NCwxMiBAQCBtZXJnZSAocG9zaXRpb25fc2V0IGNvbnN0 ICpzMSwgcG9zaXRpb25fc2V0IGNvbnN0ICpzMiwgcG9zaXRpb25fc2V0ICogbSkKIHsKICAg c2l6ZV90IGkgPSAwLCBqID0gMDsKIAotICBSRUFMTE9DX0lGX05FQ0VTU0FSWSAobS0+ZWxl bXMsIG0tPmFsbG9jLCBzMS0+bmVsZW0gKyBzMi0+bmVsZW0pOworICBpZiAobS0+YWxsb2Mg PCBzMS0+bmVsZW0gKyBzMi0+bmVsZW0pCisgICAgeworICAgICAgZnJlZSAobS0+ZWxlbXMp OworICAgICAgbS0+ZWxlbXMgPSBtYXliZV9yZWFsbG9jIChOVUxMLCBzMS0+bmVsZW0gKyBz Mi0+bmVsZW0sICZtLT5hbGxvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2l6ZW9mICptLT5lbGVtcyk7CisgICAgfQogICBtLT5uZWxlbSA9IDA7CiAgIHdoaWxlIChp IDwgczEtPm5lbGVtICYmIGogPCBzMi0+bmVsZW0pCiAgICAgaWYgKHMxLT5lbGVtc1tpXS5p bmRleCA+IHMyLT5lbGVtc1tqXS5pbmRleCkKQEAgLTIxMTcsNyArMjEyMCw4IEBAIHN0YXRl X2luZGV4IChzdHJ1Y3QgZGZhICpkLCBwb3NpdGlvbl9zZXQgY29uc3QgKnMsIGludCBjb250 ZXh0KQogICAgIH0KIAogICAvKiBXZSdsbCBoYXZlIHRvIGNyZWF0ZSBhIG5ldyBzdGF0ZS4g ICovCi0gIFJFQUxMT0NfSUZfTkVDRVNTQVJZIChkLT5zdGF0ZXMsIGQtPnNhbGxvYywgZC0+ c2luZGV4ICsgMSk7CisgIGQtPnN0YXRlcyA9IG1heWJlX3JlYWxsb2MgKGQtPnN0YXRlcywg ZC0+c2luZGV4LCAmZC0+c2FsbG9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz aXplb2YgKmQtPnN0YXRlcyk7CiAgIGQtPnN0YXRlc1tpXS5oYXNoID0gaGFzaDsKICAgYWxs b2NfcG9zaXRpb25fc2V0ICgmZC0+c3RhdGVzW2ldLmVsZW1zLCBzLT5uZWxlbSk7CiAgIGNv cHkgKHMsICZkLT5zdGF0ZXNbaV0uZWxlbXMpOwpAQCAtMjE1OCwxMCArMjE2MiwxMCBAQCBz dGF0aWMgdm9pZAogZXBzY2xvc3VyZSAocG9zaXRpb25fc2V0ICogcywgc3RydWN0IGRmYSBj b25zdCAqZCkKIHsKICAgc2l6ZV90IGksIGo7Ci0gIGNoYXIgKnZpc2l0ZWQ7ICAvKiBBcnJh eSBvZiBib29sZWFucywgZW5vdWdoIHRvIHVzZSBjaGFyLCBub3QgaW50LiAgKi8KICAgcG9z aXRpb24gcCwgb2xkOwogCi0gIENBTExPQyAodmlzaXRlZCwgZC0+dGluZGV4KTsKKyAgLyog QXJyYXkgb2YgYm9vbGVhbnMsIGxhcmdlIGVub3VnaCB0byB1c2UgY2hhciwgbm90IGludC4g ICovCisgIGNoYXIgKnZpc2l0ZWQgPSB4emFsbG9jIChkLT50aW5kZXgpOwogCiAgIGZvciAo aSA9IDA7IGkgPCBzLT5uZWxlbTsgKytpKQogICAgIGlmIChkLT50b2tlbnNbcy0+ZWxlbXNb aV0uaW5kZXhdID49IE5PVENIQVIKQEAgLTIzNDIsMTkgKzIzNDYsMTkgQEAgZGZhYW5hbHl6 ZSAoc3RydWN0IGRmYSAqZCwgaW50IHNlYXJjaGZsYWcpCiAKICAgZC0+c2VhcmNoZmxhZyA9 IHNlYXJjaGZsYWcgIT0gMDsKIAotICBNQUxMT0MgKG51bGxhYmxlLCBkLT5kZXB0aCk7Cisg IG51bGxhYmxlID0geG5tYWxsb2MgKGQtPmRlcHRoLCBzaXplb2YgKm51bGxhYmxlKTsKICAg b19udWxsYWJsZSA9IG51bGxhYmxlOwotICBNQUxMT0MgKG5maXJzdHBvcywgZC0+ZGVwdGgp OworICBuZmlyc3Rwb3MgPSB4bm1hbGxvYyAoZC0+ZGVwdGgsIHNpemVvZiAqbmZpcnN0cG9z KTsKICAgb19uZmlyc3QgPSBuZmlyc3Rwb3M7Ci0gIE1BTExPQyAoZmlyc3Rwb3MsIGQtPm5s ZWF2ZXMpOworICBmaXJzdHBvcyA9IHhubWFsbG9jIChkLT5ubGVhdmVzLCBzaXplb2YgKmZp cnN0cG9zKTsKICAgb19maXJzdHBvcyA9IGZpcnN0cG9zLCBmaXJzdHBvcyArPSBkLT5ubGVh dmVzOwotICBNQUxMT0MgKG5sYXN0cG9zLCBkLT5kZXB0aCk7CisgIG5sYXN0cG9zID0geG5t YWxsb2MgKGQtPmRlcHRoLCBzaXplb2YgKm5sYXN0cG9zKTsKICAgb19ubGFzdCA9IG5sYXN0 cG9zOwotICBNQUxMT0MgKGxhc3Rwb3MsIGQtPm5sZWF2ZXMpOworICBsYXN0cG9zID0geG5t YWxsb2MgKGQtPm5sZWF2ZXMsIHNpemVvZiAqbGFzdHBvcyk7CiAgIG9fbGFzdHBvcyA9IGxh c3Rwb3MsIGxhc3Rwb3MgKz0gZC0+bmxlYXZlczsKICAgYWxsb2NfcG9zaXRpb25fc2V0ICgm bWVyZ2VkLCBkLT5ubGVhdmVzKTsKIAotICBDQUxMT0MgKGQtPmZvbGxvd3MsIGQtPnRpbmRl eCk7CisgIGQtPmZvbGxvd3MgPSB4Y2FsbG9jIChkLT50aW5kZXgsIHNpemVvZiAqZC0+Zm9s bG93cyk7CiAKICAgZm9yIChpID0gMDsgaSA8IGQtPnRpbmRleDsgKytpKQogICAgIHsKQEAg LTI1MTMsNyArMjUxNyw3IEBAIGRmYWFuYWx5emUgKHN0cnVjdCBkZmEgKmQsIGludCBzZWFy Y2hmbGFnKQogICAvKiBCdWlsZCB0aGUgaW5pdGlhbCBzdGF0ZS4gICovCiAgIGQtPnNhbGxv YyA9IDE7CiAgIGQtPnNpbmRleCA9IDA7Ci0gIE1BTExPQyAoZC0+c3RhdGVzLCBkLT5zYWxs b2MpOworICBkLT5zdGF0ZXMgPSB4bWFsbG9jIChzaXplb2YgKmQtPnN0YXRlcyk7CiAKICAg c2VwYXJhdGVfY29udGV4dHMgPSBzdGF0ZV9zZXBhcmF0ZV9jb250ZXh0cyAoJm1lcmdlZCk7 CiAgIHN0YXRlX2luZGV4IChkLCAmbWVyZ2VkLApAQCAtMjU4Miw4ICsyNTg2LDggQEAgZGZh c3RhdGUgKHN0YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0gdHJhbnNbXSkK ICAgYm9vbCBuZXh0X2lzbnRfMXN0X2J5dGUgPSBmYWxzZTsgLyogRmxhZyBpZiB3ZSBjYW4n dCBhZGQgc3RhdGUwLiAgKi8KICAgc2l6ZV90IGksIGosIGs7CiAKLSAgTUFMTE9DIChncnBz LCBOT1RDSEFSKTsKLSAgTUFMTE9DIChsYWJlbHMsIE5PVENIQVIpOworICBncnBzID0geG5t YWxsb2MgKE5PVENIQVIsIHNpemVvZiAqZ3Jwcyk7CisgIGxhYmVscyA9IHhubWFsbG9jIChO T1RDSEFSLCBzaXplb2YgKmxhYmVscyk7CiAKICAgemVyb3NldCAobWF0Y2hlcyk7CiAKQEAg LTI2NjksNyArMjY3Myw4IEBAIGRmYXN0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRmYSAq ZCwgc3RhdGVfbnVtIHRyYW5zW10pCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGNv cHlzZXQgKGxlZnRvdmVycywgbGFiZWxzW25ncnBzXSk7CiAgICAgICAgICAgICAgIGNvcHlz ZXQgKGludGVyc2VjdCwgbGFiZWxzW2pdKTsKLSAgICAgICAgICAgICAgTUFMTE9DIChncnBz W25ncnBzXS5lbGVtcywgZC0+bmxlYXZlcyk7CisgICAgICAgICAgICAgIGdycHNbbmdycHNd LmVsZW1zID0geG5tYWxsb2MgKGQtPm5sZWF2ZXMsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAqZ3Jwc1tuZ3Jwc10uZWxlbXMpOwogICAg ICAgICAgICAgICBtZW1jcHkgKGdycHNbbmdycHNdLmVsZW1zLCBncnBzW2pdLmVsZW1zLAog ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAoZ3Jwc1tqXS5lbGVtc1swXSkgKiBncnBz W2pdLm5lbGVtKTsKICAgICAgICAgICAgICAgZ3Jwc1tuZ3Jwc10ubmVsZW0gPSBncnBzW2pd Lm5lbGVtOwpAQCAtMjY5Miw3ICsyNjk3LDcgQEAgZGZhc3RhdGUgKHN0YXRlX251bSBzLCBz dHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0gdHJhbnNbXSkKICAgICAgICAgewogICAgICAgICAg IGNvcHlzZXQgKG1hdGNoZXMsIGxhYmVsc1tuZ3Jwc10pOwogICAgICAgICAgIHplcm9zZXQg KG1hdGNoZXMpOwotICAgICAgICAgIE1BTExPQyAoZ3Jwc1tuZ3Jwc10uZWxlbXMsIGQtPm5s ZWF2ZXMpOworICAgICAgICAgIGdycHNbbmdycHNdLmVsZW1zID0geG5tYWxsb2MgKGQtPm5s ZWF2ZXMsIHNpemVvZiAqZ3Jwc1tuZ3Jwc10uZWxlbXMpOwogICAgICAgICAgIGdycHNbbmdy cHNdLm5lbGVtID0gMTsKICAgICAgICAgICBncnBzW25ncnBzXS5lbGVtc1swXSA9IHBvcy5p bmRleDsKICAgICAgICAgICArK25ncnBzOwpAQCAtMjg1Nyw3ICsyODYyLDcgQEAgYnVpbGRf c3RhdGUgKHN0YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkKQogICBpZiAoQUNDRVBUU19JTl9D T05URVhUIChkLT5zdGF0ZXNbc10uY29udGV4dCwgQ1RYX05PTkUsIHMsICpkKSkKICAgICBk LT5zdWNjZXNzW3NdIHw9IENUWF9OT05FOwogCi0gIE1BTExPQyAodHJhbnMsIE5PVENIQVIp OworICB0cmFucyA9IHhubWFsbG9jIChOT1RDSEFSLCBzaXplb2YgKnRyYW5zKTsKICAgZGZh c3RhdGUgKHMsIGQsIHRyYW5zKTsKIAogICAvKiBOb3cgZ28gdGhyb3VnaCB0aGUgbmV3IHRy YW5zaXRpb24gdGFibGUsIGFuZCBtYWtlIHN1cmUgdGhhdCB0aGUgdHJhbnMKQEAgLTI4NzAs MTEgKzI4NzUsMTIgQEAgYnVpbGRfc3RhdGUgKHN0YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpk KQogCiAgICAgICAgIHdoaWxlICh0cmFuc1tpXSA+PSBkLT50cmFsbG9jKQogICAgICAgICAg IGQtPnRyYWxsb2MgKj0gMjsKLSAgICAgICAgUkVBTExPQyAoZC0+cmVhbHRyYW5zLCBkLT50 cmFsbG9jICsgMSk7CisgICAgICAgIGQtPnJlYWx0cmFucyA9IHhucmVhbGxvYyAoZC0+cmVh bHRyYW5zLCBkLT50cmFsbG9jICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzaXplb2YgKmQtPnJlYWx0cmFucyk7CiAgICAgICAgIGQtPnRyYW5zID0gZC0+cmVh bHRyYW5zICsgMTsKLSAgICAgICAgUkVBTExPQyAoZC0+ZmFpbHMsIGQtPnRyYWxsb2MpOwot ICAgICAgICBSRUFMTE9DIChkLT5zdWNjZXNzLCBkLT50cmFsbG9jKTsKLSAgICAgICAgUkVB TExPQyAoZC0+bmV3bGluZXMsIGQtPnRyYWxsb2MpOworICAgICAgICBkLT5mYWlscyA9IHhu cmVhbGxvYyAoZC0+ZmFpbHMsIGQtPnRyYWxsb2MsIHNpemVvZiAqZC0+ZmFpbHMpOworICAg ICAgICBkLT5zdWNjZXNzID0geG5yZWFsbG9jIChkLT5zdWNjZXNzLCBkLT50cmFsbG9jLCBz aXplb2YgKmQtPnN1Y2Nlc3MpOworICAgICAgICBkLT5uZXdsaW5lcyA9IHhucmVhbGxvYyAo ZC0+bmV3bGluZXMsIGQtPnRyYWxsb2MsIHNpemVvZiAqZC0+bmV3bGluZXMpOwogICAgICAg ICB3aGlsZSAob2xkYWxsb2MgPCBkLT50cmFsbG9jKQogICAgICAgICAgIHsKICAgICAgICAg ICAgIGQtPnRyYW5zW29sZGFsbG9jXSA9IE5VTEw7CkBAIC0yODk4LDExICsyOTA0LDExIEBA IGJ1aWxkX3N0YXRlX3plcm8gKHN0cnVjdCBkZmEgKmQpCiB7CiAgIGQtPnRyYWxsb2MgPSAx OwogICBkLT50cmNvdW50ID0gMDsKLSAgQ0FMTE9DIChkLT5yZWFsdHJhbnMsIGQtPnRyYWxs b2MgKyAxKTsKKyAgZC0+cmVhbHRyYW5zID0geGNhbGxvYyAoZC0+dHJhbGxvYyArIDEsIHNp emVvZiAqZC0+cmVhbHRyYW5zKTsKICAgZC0+dHJhbnMgPSBkLT5yZWFsdHJhbnMgKyAxOwot ICBDQUxMT0MgKGQtPmZhaWxzLCBkLT50cmFsbG9jKTsKLSAgTUFMTE9DIChkLT5zdWNjZXNz LCBkLT50cmFsbG9jKTsKLSAgTUFMTE9DIChkLT5uZXdsaW5lcywgZC0+dHJhbGxvYyk7Cisg IGQtPmZhaWxzID0geGNhbGxvYyAoZC0+dHJhbGxvYywgc2l6ZW9mICpkLT5mYWlscyk7Cisg IGQtPnN1Y2Nlc3MgPSB4bm1hbGxvYyAoZC0+dHJhbGxvYywgc2l6ZW9mICpkLT5zdWNjZXNz KTsKKyAgZC0+bmV3bGluZXMgPSB4bm1hbGxvYyAoZC0+dHJhbGxvYywgc2l6ZW9mICpkLT5u ZXdsaW5lcyk7CiAgIGJ1aWxkX3N0YXRlICgwLCBkKTsKIH0KIApAQCAtMjk0MCwxMSArMjk0 NiwxMiBAQCByZWFsbG9jX3RyYW5zX2lmX25lY2Vzc2FyeSAoc3RydWN0IGRmYSAqZCwgc3Rh dGVfbnVtIG5ld19zdGF0ZSkKIAogICAgICAgd2hpbGUgKG5ld19zdGF0ZSA+PSBkLT50cmFs bG9jKQogICAgICAgICBkLT50cmFsbG9jICo9IDI7Ci0gICAgICBSRUFMTE9DIChkLT5yZWFs dHJhbnMsIGQtPnRyYWxsb2MgKyAxKTsKKyAgICAgIGQtPnJlYWx0cmFucyA9IHhucmVhbGxv YyAoZC0+cmVhbHRyYW5zLCBkLT50cmFsbG9jICsgMSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2l6ZW9mICpkLT5yZWFsdHJhbnMpOwogICAgICAgZC0+dHJhbnMgPSBk LT5yZWFsdHJhbnMgKyAxOwotICAgICAgUkVBTExPQyAoZC0+ZmFpbHMsIGQtPnRyYWxsb2Mp OwotICAgICAgUkVBTExPQyAoZC0+c3VjY2VzcywgZC0+dHJhbGxvYyk7Ci0gICAgICBSRUFM TE9DIChkLT5uZXdsaW5lcywgZC0+dHJhbGxvYyk7CisgICAgICBkLT5mYWlscyA9IHhucmVh bGxvYyAoZC0+ZmFpbHMsIGQtPnRyYWxsb2MsIHNpemVvZiAqZC0+ZmFpbHMpOworICAgICAg ZC0+c3VjY2VzcyA9IHhucmVhbGxvYyAoZC0+c3VjY2VzcywgZC0+dHJhbGxvYywgc2l6ZW9m ICpkLT5zdWNjZXNzKTsKKyAgICAgIGQtPm5ld2xpbmVzID0geG5yZWFsbG9jIChkLT5uZXds aW5lcywgZC0+dHJhbGxvYywgc2l6ZW9mICpkLT5uZXdsaW5lcyk7CiAgICAgICB3aGlsZSAo b2xkYWxsb2MgPCBkLT50cmFsbG9jKQogICAgICAgICB7CiAgICAgICAgICAgZC0+dHJhbnNb b2xkYWxsb2NdID0gTlVMTDsKQEAgLTMzNzcsMTQgKzMzODQsMTYgQEAgZGZhZXhlYyAoc3Ry dWN0IGRmYSAqZCwgY2hhciBjb25zdCAqYmVnaW4sIGNoYXIgKmVuZCwKICAgaWYgKGQtPm1i X2N1cl9tYXggPiAxKQogICAgIHsKICAgICAgIHN0YXRpYyBib29sIG1iX2FsbG9jID0gZmFs c2U7Ci0gICAgICBSRUFMTE9DX0lGX05FQ0VTU0FSWSAoZC0+bWJsZW5fYnVmLCBkLT5ubWJs ZW5fYnVmLCBlbmQgLSBiZWdpbiArIDIpOwotICAgICAgUkVBTExPQ19JRl9ORUNFU1NBUlkg KGQtPmlucHV0d2NzLCBkLT5uaW5wdXR3Y3MsIGVuZCAtIGJlZ2luICsgMik7CisgICAgICBk LT5tYmxlbl9idWYgPSBtYXliZV9yZWFsbG9jIChkLT5tYmxlbl9idWYsIGVuZCAtIGJlZ2lu ICsgMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkLT5ubWJsZW5f YnVmLCBzaXplb2YgKmQtPm1ibGVuX2J1Zik7CisgICAgICBkLT5pbnB1dHdjcyA9IG1heWJl X3JlYWxsb2MgKGQtPmlucHV0d2NzLCBlbmQgLSBiZWdpbiArIDIsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZkLT5uaW5wdXR3Y3MsIHNpemVvZiAqZC0+aW5wdXR3 Y3MpOwogICAgICAgbWVtc2V0ICgmbWJzLCAwLCBzaXplb2YgKG1ic3RhdGVfdCkpOwogICAg ICAgcHJlcGFyZV93Y19idWYgKGQsIChjb25zdCBjaGFyICopIHAsIGVuZCk7CiAgICAgICBp ZiAoIW1iX2FsbG9jKQogICAgICAgICB7Ci0gICAgICAgICAgTUFMTE9DIChkLT5tYl9tYXRj aF9sZW5zLCBkLT5ubGVhdmVzKTsKLSAgICAgICAgICBNQUxMT0MgKGQtPm1iX2ZvbGxvd3Ms IDEpOworICAgICAgICAgIGQtPm1iX21hdGNoX2xlbnMgPSB4bm1hbGxvYyAoZC0+bmxlYXZl cywgc2l6ZW9mICpkLT5tYl9tYXRjaF9sZW5zKTsKKyAgICAgICAgICBkLT5tYl9mb2xsb3dz ID0geG1hbGxvYyAoc2l6ZW9mICpkLT5tYl9mb2xsb3dzKTsKICAgICAgICAgICBhbGxvY19w b3NpdGlvbl9zZXQgKGQtPm1iX2ZvbGxvd3MsIGQtPm5sZWF2ZXMpOwogICAgICAgICAgIG1i X2FsbG9jID0gdHJ1ZTsKICAgICAgICAgfQpAQCAtMzU2NiwxOSArMzU3NSwxOSBAQCBkZmFp bml0IChzdHJ1Y3QgZGZhICpkKQogICBtZW1zZXQgKGQsIDAsIHNpemVvZiAqZCk7CiAKICAg ZC0+Y2FsbG9jID0gMTsKLSAgTUFMTE9DIChkLT5jaGFyY2xhc3NlcywgZC0+Y2FsbG9jKTsK KyAgZC0+Y2hhcmNsYXNzZXMgPSB4bWFsbG9jIChzaXplb2YgKmQtPmNoYXJjbGFzc2VzKTsK IAogICBkLT50YWxsb2MgPSAxOwotICBNQUxMT0MgKGQtPnRva2VucywgZC0+dGFsbG9jKTsK KyAgZC0+dG9rZW5zID0geG1hbGxvYyAoc2l6ZW9mICpkLT50b2tlbnMpOwogCiAgIGQtPm1i X2N1cl9tYXggPSBNQl9DVVJfTUFYOwogCiAgIGlmIChkLT5tYl9jdXJfbWF4ID4gMSkKICAg ICB7CiAgICAgICBkLT5ubXVsdGlieXRlX3Byb3AgPSAxOwotICAgICAgTUFMTE9DIChkLT5t dWx0aWJ5dGVfcHJvcCwgZC0+bm11bHRpYnl0ZV9wcm9wKTsKKyAgICAgIGQtPm11bHRpYnl0 ZV9wcm9wID0geG1hbGxvYyAoc2l6ZW9mICpkLT5tdWx0aWJ5dGVfcHJvcCk7CiAgICAgICBk LT5tYmNzZXRzX2FsbG9jID0gMTsKLSAgICAgIE1BTExPQyAoZC0+bWJjc2V0cywgZC0+bWJj c2V0c19hbGxvYyk7CisgICAgICBkLT5tYmNzZXRzID0geG1hbGxvYyAoc2l6ZW9mICpkLT5t YmNzZXRzKTsKICAgICB9CiB9CiAKQEAgLTM2MzMsMTIgKzM2NDIsMTIgQEAgZGZhc3VwZXJz ZXQgKHN0cnVjdCBkZmEgKmQpCiAgIHN1cC0+bmV3bGluZXMgPSBOVUxMOwogICBzdXAtPm11 c3RzID0gTlVMTDsKIAotICBNQUxMT0MgKHN1cC0+Y2hhcmNsYXNzZXMsIHN1cC0+Y2FsbG9j KTsKKyAgc3VwLT5jaGFyY2xhc3NlcyA9IHhubWFsbG9jIChzdXAtPmNhbGxvYywgc2l6ZW9m ICpzdXAtPmNoYXJjbGFzc2VzKTsKICAgbWVtY3B5IChzdXAtPmNoYXJjbGFzc2VzLCBkLT5j aGFyY2xhc3NlcywKICAgICAgICAgICBkLT5jaW5kZXggKiBzaXplb2YgKnN1cC0+Y2hhcmNs YXNzZXMpOwogCiAgIHN1cC0+dGFsbG9jID0gZC0+dGluZGV4ICogMjsKLSAgTUFMTE9DIChz dXAtPnRva2Vucywgc3VwLT50YWxsb2MpOworICBzdXAtPnRva2VucyA9IHhubWFsbG9jIChz dXAtPnRhbGxvYywgc2l6ZW9mICpzdXAtPnRva2Vucyk7CiAKICAgZm9yIChpID0gaiA9IDA7 IGkgPCBkLT50aW5kZXg7IGkrKykKICAgICB7CkBAIC0zOTEwLDcgKzM5MTksNyBAQCBlbmxp c3QgKGNoYXIgKipjcHAsIGNoYXIgKm5ldywgc2l6ZV90IGxlbikKICAgICAgICAgY3BwW2ld ID0gTlVMTDsKICAgICAgIH0KICAgLyogQWRkIHRoZSBuZXcgc3RyaW5nLiAgKi8KLSAgUkVB TExPQyAoY3BwLCBpICsgMik7CisgIGNwcCA9IHhucmVhbGxvYyAoY3BwLCBpICsgMiwgc2l6 ZW9mICpjcHApOwogICBjcHBbaV0gPSBuZXc7CiAgIGNwcFtpICsgMV0gPSBOVUxMOwogICBy ZXR1cm4gY3BwOwpAQCAtNDA0Miw3ICs0MDUxLDcgQEAgZGZhbXVzdCAoc3RydWN0IGRmYSAq ZCkKIAogICByZXN1bHQgPSBlbXB0eV9zdHJpbmc7CiAgIGV4YWN0ID0gZmFsc2U7Ci0gIE1B TExPQyAobXVzdHMsIGQtPnRpbmRleCArIDEpOworICBtdXN0cyA9IHhubWFsbG9jIChkLT50 aW5kZXggKyAxLCBzaXplb2YgKm11c3RzKTsKICAgbXAgPSBtdXN0czsKICAgZm9yIChpID0g MDsgaSA8PSBkLT50aW5kZXg7ICsraSkKICAgICBtcFtpXSA9IG11c3QwOwpAQCAtNDI0Niw3 ICs0MjU1LDcgQEAgZGZhbXVzdCAoc3RydWN0IGRmYSAqZCkKIGRvbmU6CiAgIGlmIChzdHJs ZW4gKHJlc3VsdCkpCiAgICAgewotICAgICAgTUFMTE9DIChkbSwgMSk7CisgICAgICBkbSA9 IHhtYWxsb2MgKHNpemVvZiAqZG0pOwogICAgICAgZG0tPmV4YWN0ID0gZXhhY3Q7CiAgICAg ICBkbS0+bXVzdCA9IHhtZW1kdXAgKHJlc3VsdCwgc3RybGVuIChyZXN1bHQpICsgMSk7CiAg ICAgICBkbS0+bmV4dCA9IGQtPm11c3RzOwotLSAKMS45LjAKCg== --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0002-dfa-avoid-unnecessary-work-and-other-initialization.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0002-dfa-avoid-unnecessary-work-and-other-initialization.pat"; filename*1="ch" RnJvbSBlNmY5NWU4OTFhYzNjZmM4ZjRlMjhkNmZkNmI3NzdiYzYxYWJlMzVjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDE1IEFwciAyMDE0IDE3OjUwOjA2IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwMi8xMl0gZGZhOiBhdm9pZCB1bm5lY2Vzc2FyeSB3b3JrIGFuZCBvdGhlciBpbml0aWFs aXphdGlvbgoKKiBzcmMvZGZhLmMgKGRmYWFuYWx5emUsIGRmYWluaXQpOgpEb24ndCBib3Ro ZXIgYWxsb2NhdGluZyB3aGVuIHgybnJlYWxsb2Mgd2lsbCBkbyBpdCBmb3IgdXMuCihkZmFz dGF0ZSk6IEFsbG9jYXRlIGdycHMgYW5kIGxhYmVscyBvbiB0aGUgc3RhY2ssIGFzIHRoZWly CnNpemUgaXMga25vd24gYXQgY29tcGlsZSB0aW1lLgooYnVpbGRfc3RhdGUpOiBVc2UgeG1h bGxvYywgbm90IHhubWFsbG9jLCBzaW5jZSB0aGUgbXVsdGlwbGljYXRpb24KY2FuIGJlIGRv bmUgYXQgY29tcGlsZS10aW1lLgotLS0KIHNyYy9kZmEuYyB8IDMwICsrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMjcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2RmYS5jIGIvc3JjL2RmYS5jCmluZGV4 IDllODg3NDIuLmNhZjliMDcgMTAwNjQ0Ci0tLSBhL3NyYy9kZmEuYworKysgYi9zcmMvZGZh LmMKQEAgLTI1MTUsMTAgKzI1MTUsNiBAQCBkZmFhbmFseXplIChzdHJ1Y3QgZGZhICpkLCBp bnQgc2VhcmNoZmxhZykKICAgZXBzY2xvc3VyZSAoJm1lcmdlZCwgZCk7CiAKICAgLyogQnVp bGQgdGhlIGluaXRpYWwgc3RhdGUuICAqLwotICBkLT5zYWxsb2MgPSAxOwotICBkLT5zaW5k ZXggPSAwOwotICBkLT5zdGF0ZXMgPSB4bWFsbG9jIChzaXplb2YgKmQtPnN0YXRlcyk7Ci0K ICAgc2VwYXJhdGVfY29udGV4dHMgPSBzdGF0ZV9zZXBhcmF0ZV9jb250ZXh0cyAoJm1lcmdl ZCk7CiAgIHN0YXRlX2luZGV4IChkLCAmbWVyZ2VkLAogICAgICAgICAgICAgICAgKHNlcGFy YXRlX2NvbnRleHRzICYgQ1RYX05FV0xJTkUKQEAgLTI1NjYsOCArMjU2Miw4IEBAIGRmYWFu YWx5emUgKHN0cnVjdCBkZmEgKmQsIGludCBzZWFyY2hmbGFnKQogdm9pZAogZGZhc3RhdGUg KHN0YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0gdHJhbnNbXSkKIHsKLSAg bGVhZl9zZXQgKmdycHM7ICAgICAgICAgICAgICAgLyogQXMgbWFueSBhcyB3aWxsIGV2ZXIg YmUgbmVlZGVkLiAgKi8KLSAgY2hhcmNsYXNzICpsYWJlbHM7ICAgICAgICAgICAgLyogTGFi ZWxzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdyb3Vwcy4gICovCisgIGxlYWZfc2V0IGdycHNb Tk9UQ0hBUl07ICAgICAgIC8qIEFzIG1hbnkgYXMgd2lsbCBldmVyIGJlIG5lZWRlZC4gICov CisgIGNoYXJjbGFzcyBsYWJlbHNbTk9UQ0hBUl07ICAgIC8qIExhYmVscyBjb3JyZXNwb25k aW5nIHRvIHRoZSBncm91cHMuICAqLwogICBzaXplX3QgbmdycHMgPSAwOyAgICAgICAgICAg ICAvKiBOdW1iZXIgb2YgZ3JvdXBzIGFjdHVhbGx5IHVzZWQuICAqLwogICBwb3NpdGlvbiBw b3M7ICAgICAgICAgICAgICAgICAvKiBDdXJyZW50IHBvc2l0aW9uIGJlaW5nIGNvbnNpZGVy ZWQuICAqLwogICBjaGFyY2xhc3MgbWF0Y2hlczsgICAgICAgICAgICAvKiBTZXQgb2YgbWF0 Y2hpbmcgY2hhcmFjdGVycy4gICovCkBAIC0yNTg2LDkgKzI1ODIsNiBAQCBkZmFzdGF0ZSAo c3RhdGVfbnVtIHMsIHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSB0cmFuc1tdKQogICBib29s IG5leHRfaXNudF8xc3RfYnl0ZSA9IGZhbHNlOyAvKiBGbGFnIGlmIHdlIGNhbid0IGFkZCBz dGF0ZTAuICAqLwogICBzaXplX3QgaSwgaiwgazsKIAotICBncnBzID0geG5tYWxsb2MgKE5P VENIQVIsIHNpemVvZiAqZ3Jwcyk7Ci0gIGxhYmVscyA9IHhubWFsbG9jIChOT1RDSEFSLCBz aXplb2YgKmxhYmVscyk7Ci0KICAgemVyb3NldCAobWF0Y2hlcyk7CiAKICAgZm9yIChpID0g MDsgaSA8IGQtPnN0YXRlc1tzXS5lbGVtcy5uZWxlbTsgKytpKQpAQCAtMjgxOSw4ICsyODEy LDYgQEAgZGZhc3RhdGUgKHN0YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0g dHJhbnNbXSkKICAgICBmcmVlIChncnBzW2ldLmVsZW1zKTsKICAgZnJlZSAoZm9sbG93cy5l bGVtcyk7CiAgIGZyZWUgKHRtcC5lbGVtcyk7Ci0gIGZyZWUgKGdycHMpOwotICBmcmVlIChs YWJlbHMpOwogfQogCiAvKiBTb21lIHJvdXRpbmVzIGZvciBtYW5pcHVsYXRpbmcgYSBjb21w aWxlZCBkZmEncyB0cmFuc2l0aW9uIHRhYmxlcy4KQEAgLTI4NjIsNyArMjg1Myw3IEBAIGJ1 aWxkX3N0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRmYSAqZCkKICAgaWYgKEFDQ0VQVFNf SU5fQ09OVEVYVCAoZC0+c3RhdGVzW3NdLmNvbnRleHQsIENUWF9OT05FLCBzLCAqZCkpCiAg ICAgZC0+c3VjY2Vzc1tzXSB8PSBDVFhfTk9ORTsKIAotICB0cmFucyA9IHhubWFsbG9jIChO T1RDSEFSLCBzaXplb2YgKnRyYW5zKTsKKyAgdHJhbnMgPSB4bWFsbG9jIChOT1RDSEFSICog c2l6ZW9mICp0cmFucyk7CiAgIGRmYXN0YXRlIChzLCBkLCB0cmFucyk7CiAKICAgLyogTm93 IGdvIHRocm91Z2ggdGhlIG5ldyB0cmFuc2l0aW9uIHRhYmxlLCBhbmQgbWFrZSBzdXJlIHRo YXQgdGhlIHRyYW5zCkBAIC0zNTczLDIyICszNTY0LDcgQEAgdm9pZAogZGZhaW5pdCAoc3Ry dWN0IGRmYSAqZCkKIHsKICAgbWVtc2V0IChkLCAwLCBzaXplb2YgKmQpOwotCi0gIGQtPmNh bGxvYyA9IDE7Ci0gIGQtPmNoYXJjbGFzc2VzID0geG1hbGxvYyAoc2l6ZW9mICpkLT5jaGFy Y2xhc3Nlcyk7Ci0KLSAgZC0+dGFsbG9jID0gMTsKLSAgZC0+dG9rZW5zID0geG1hbGxvYyAo c2l6ZW9mICpkLT50b2tlbnMpOwotCiAgIGQtPm1iX2N1cl9tYXggPSBNQl9DVVJfTUFYOwot Ci0gIGlmIChkLT5tYl9jdXJfbWF4ID4gMSkKLSAgICB7Ci0gICAgICBkLT5ubXVsdGlieXRl X3Byb3AgPSAxOwotICAgICAgZC0+bXVsdGlieXRlX3Byb3AgPSB4bWFsbG9jIChzaXplb2Yg KmQtPm11bHRpYnl0ZV9wcm9wKTsKLSAgICAgIGQtPm1iY3NldHNfYWxsb2MgPSAxOwotICAg ICAgZC0+bWJjc2V0cyA9IHhtYWxsb2MgKHNpemVvZiAqZC0+bWJjc2V0cyk7Ci0gICAgfQog fQogCiBzdGF0aWMgdm9pZAotLSAKMS45LjAKCg== --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0003-dfa-better-size-overflow-check.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0003-dfa-better-size-overflow-check.patch" RnJvbSBmN2RjNWI1MTVjMzM5NDdjYjRjYWU0YzdhZDIxYjkyNThjYWEyZjEyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDE1IEFwciAyMDE0IDE3OjUxOjI1IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwMy8xMl0gZGZhOiBiZXR0ZXIgc2l6ZS1vdmVyZmxvdyBjaGVjawoKKiBzcmMvZGZhLmMg KGRmYXN1cGVyc2V0KTogTGV0IHhubWFsbG9jIGRvIHRoZSBtdWx0aXBsaWNhdGlvbiwKdG8g Y2hlY2sgZm9yIHNpemUgYXJpdGhtZXRpYyBvdmVyZmxvdyBiZXR0ZXIuCi0tLQogc3JjL2Rm YS5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2RmYS5jIGIvc3JjL2RmYS5jCmluZGV4IGNhZjliMDcu LmM4MTY3NzQgMTAwNjQ0Ci0tLSBhL3NyYy9kZmEuYworKysgYi9zcmMvZGZhLmMKQEAgLTM2 MjIsOCArMzYyMiw4IEBAIGRmYXN1cGVyc2V0IChzdHJ1Y3QgZGZhICpkKQogICBtZW1jcHkg KHN1cC0+Y2hhcmNsYXNzZXMsIGQtPmNoYXJjbGFzc2VzLAogICAgICAgICAgIGQtPmNpbmRl eCAqIHNpemVvZiAqc3VwLT5jaGFyY2xhc3Nlcyk7CiAKKyAgc3VwLT50b2tlbnMgPSB4bm1h bGxvYyAoZC0+dGluZGV4LCAyICogc2l6ZW9mICpzdXAtPnRva2Vucyk7CiAgIHN1cC0+dGFs bG9jID0gZC0+dGluZGV4ICogMjsKLSAgc3VwLT50b2tlbnMgPSB4bm1hbGxvYyAoc3VwLT50 YWxsb2MsIHNpemVvZiAqc3VwLT50b2tlbnMpOwogCiAgIGZvciAoaSA9IGogPSAwOyBpIDwg ZC0+dGluZGV4OyBpKyspCiAgICAgewotLSAKMS45LjAKCg== --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0004-dfa-simplify-transition-table-allocation.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0004-dfa-simplify-transition-table-allocation.patch" RnJvbSBkNDMyODVlNmJlNzdmYzgyMTBjYWY1NTNmM2IyZjRiNjRiNWVjMTkzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDE1IEFwciAyMDE0IDE5OjA0OjQwIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNC8xMl0gZGZhOiBzaW1wbGlmeSB0cmFuc2l0aW9uIHRhYmxlIGFsbG9jYXRpb24KCiog c3JjL2RmYS5jIChzdHJ1Y3QgZGZhKTogUmVtb3ZlIG1lbWJlciAncmVhbHRyYW5zJywgYXMg aXQgY2FuCmJlIGNvbXB1dGVkIGZyb20gJ3RyYW5zJy4gIEFsbCB1c2VzIGNoYW5nZWQuCihy ZWFsbG9jX3RyYW5zX2lmX25lY2Vzc2FyeSk6IE1vdmUgZWFybGllciwgdG8gYXZvaWQgYSBm b3J3YXJkIGRlY2wuClVzZSB4Mm5yZWFsbG9jIHRvIGNvbXB1dGUgbmV3IHNpemUsIHJhdGhl ciB0aGFuIGRvaW5nIGl0IGJ5IGhhbmQsCndoaWNoIG9taXRzIGEgY2hlY2sgZm9yIHVubGlr ZWx5IG92ZXJmbG93LgoocmVhbGxvY190cmFuc19pZl9uZWNlc3NhcnksIGRmYWZyZWUpOiBB ZGp1c3QgdG8gdGhlIGZhY3QgdGhhdApkLT50cmFucyBub3cgbWlnaHQgYmUgZWl0aGVyIE5V TEwsIG9yIDEgKyB0aGUgcG9pbnRlciB0byBmcmVlLgooYnVpbGRfc3RhdGUsIGJ1aWxkX3N0 YXRlX3plcm8pOiBVc2UgcmVhbGxvY190cmFuc19pZl9uZWNlc3NhcnkKaW5zdGVhZCBvZiBk dXBsaWNhdGluZyBpdHMgY29kZS4KLS0tCiBzcmMvZGZhLmMgfCAxMTcgKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmMvZGZhLmMgYi9zcmMvZGZhLmMKaW5kZXggYzgxNjc3NC4uYzQ3ZjNlMCAx MDA2NDQKLS0tIGEvc3JjL2RmYS5jCisrKyBiL3NyYy9kZmEuYwpAQCAtMzk2LDE2ICszOTYs MTYgQEAgc3RydWN0IGRmYQogCiAgIC8qIEZpZWxkcyBmaWxsZWQgYnkgZGZhZXhlYy4gICov CiAgIHN0YXRlX251bSB0cmFsbG9jOyAgICAgICAgICAgIC8qIE51bWJlciBvZiB0cmFuc2l0 aW9uIHRhYmxlcyB0aGF0IGhhdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2xvdHMgc28gZmFyLiAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2xvdHMgc28gZmFyLCBub3QgY291bnRpbmcgdHJhbnNbLTFdLiAgKi8KICAgaW50IHRy Y291bnQ7ICAgICAgICAgICAgICAgICAgLyogTnVtYmVyIG9mIHRyYW5zaXRpb24gdGFibGVz IHRoYXQgaGF2ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxs eSBiZWVuIGJ1aWx0LiAgKi8KICAgc3RhdGVfbnVtICoqdHJhbnM7ICAgICAgICAgICAgLyog VHJhbnNpdGlvbiB0YWJsZXMgZm9yIHN0YXRlcyB0aGF0IGNhbgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBuZXZlciBhY2NlcHQuICBJZiB0aGUgdHJhbnNpdGlvbnMg Zm9yIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgaGF2ZSBu b3QgeWV0IGJlZW4gY29tcHV0ZWQsIG9yIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdGF0ZSBjb3VsZCBwb3NzaWJseSBhY2NlcHQsIGl0cyBlbnRyeSBpbgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHRhYmxlIGlzIE5VTEwu ICAqLwotICBzdGF0ZV9udW0gKipyZWFsdHJhbnM7ICAgICAgICAvKiBUcmFucyBhbHdheXMg cG9pbnRzIHRvIHJlYWx0cmFucyArIDE7IHRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaXMgc28gdHJhbnNbLTFdIGNhbiBjb250YWluIE5VTEwuICAqLworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHRhYmxlIGlzIE5VTEwuICBU aGlzIHBvaW50cyB0byBvbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGFzdCB0aGUgc3RhcnQgb2YgdGhlIGFsbG9jYXRlZCBhcnJheSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYW5kIHRyYW5zWy0xXSBpcyBhbHdheXMgTlVMTC4gICov CiAgIHN0YXRlX251bSAqKmZhaWxzOyAgICAgICAgICAgIC8qIFRyYW5zaXRpb24gdGFibGVz IGFmdGVyIGZhaWxpbmcgdG8gYWNjZXB0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG9uIGEgc3RhdGUgdGhhdCBwb3RlbnRpYWxseSBjb3VsZCBkbyBzby4gICovCiAg IGludCAqc3VjY2VzczsgICAgICAgICAgICAgICAgIC8qIFRhYmxlIG9mIGFjY2VwdGFuY2Ug Y29uZGl0aW9ucyB1c2VkIGluCkBAIC0yODE0LDYgKzI4MTQsMzAgQEAgZGZhc3RhdGUgKHN0 YXRlX251bSBzLCBzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0gdHJhbnNbXSkKICAgZnJlZSAo dG1wLmVsZW1zKTsKIH0KIAorLyogTWFrZSBzdXJlIEQncyBzdGF0ZSBhcnJheXMgYXJlIGxh cmdlIGVub3VnaCB0byBob2xkIE5FV19TVEFURS4gICovCitzdGF0aWMgdm9pZAorcmVhbGxv Y190cmFuc19pZl9uZWNlc3NhcnkgKHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSBuZXdfc3Rh dGUpCit7CisgIGlmIChkLT50cmFsbG9jIDw9IG5ld19zdGF0ZSkKKyAgICB7CisgICAgICBz dGF0ZV9udW0gKipyZWFsdHJhbnMgPSBkLT50cmFucyA/IGQtPnRyYW5zIC0gMSA6IE5VTEw7 CisgICAgICBzdGF0ZV9udW0gb2xkYWxsb2MgPSBkLT50cmFsbG9jOworICAgICAgZC0+dHJh bGxvYyA9IG5ld19zdGF0ZSArIDE7CisgICAgICByZWFsdHJhbnMgPSB4Mm5yZWFsbG9jIChy ZWFsdHJhbnMsICZkLT50cmFsbG9jLCBzaXplb2YgKnJlYWx0cmFucyk7CisgICAgICByZWFs dHJhbnNbMF0gPSBOVUxMOworICAgICAgZC0+dHJhbnMgPSByZWFsdHJhbnMgKyAxOworICAg ICAgZC0+dHJhbGxvYy0tOworICAgICAgZC0+ZmFpbHMgPSB4bnJlYWxsb2MgKGQtPmZhaWxz LCBkLT50cmFsbG9jLCBzaXplb2YgKmQtPmZhaWxzKTsKKyAgICAgIGQtPnN1Y2Nlc3MgPSB4 bnJlYWxsb2MgKGQtPnN1Y2Nlc3MsIGQtPnRyYWxsb2MsIHNpemVvZiAqZC0+c3VjY2Vzcyk7 CisgICAgICBkLT5uZXdsaW5lcyA9IHhucmVhbGxvYyAoZC0+bmV3bGluZXMsIGQtPnRyYWxs b2MsIHNpemVvZiAqZC0+bmV3bGluZXMpOworICAgICAgZm9yICg7IG9sZGFsbG9jIDwgZC0+ dHJhbGxvYzsgb2xkYWxsb2MrKykKKyAgICAgICAgeworICAgICAgICAgIGQtPnRyYW5zW29s ZGFsbG9jXSA9IE5VTEw7CisgICAgICAgICAgZC0+ZmFpbHNbb2xkYWxsb2NdID0gTlVMTDsK KyAgICAgICAgfQorICAgIH0KK30KKwogLyogU29tZSByb3V0aW5lcyBmb3IgbWFuaXB1bGF0 aW5nIGEgY29tcGlsZWQgZGZhJ3MgdHJhbnNpdGlvbiB0YWJsZXMuCiAgICBFYWNoIHN0YXRl IG1heSBvciBtYXkgbm90IGhhdmUgYSB0cmFuc2l0aW9uIHRhYmxlOyBpZiBpdCBkb2VzLCBh bmQgaXQKICAgIGlzIGEgbm9uLWFjY2VwdGluZyBzdGF0ZSwgdGhlbiBkLT50cmFuc1tzdGF0 ZV0gcG9pbnRzIHRvIGl0cyB0YWJsZS4KQEAgLTI4MjUsNyArMjg0OSw3IEBAIHN0YXRpYyB2 b2lkCiBidWlsZF9zdGF0ZSAoc3RhdGVfbnVtIHMsIHN0cnVjdCBkZmEgKmQpCiB7CiAgIHN0 YXRlX251bSAqdHJhbnM7ICAgICAgICAgICAgIC8qIFRoZSBuZXcgdHJhbnNpdGlvbiB0YWJs ZS4gICovCi0gIHN0YXRlX251bSBpOworICBzdGF0ZV9udW0gaSwgbWF4c3RhdGU7CiAKICAg LyogU2V0IGFuIHVwcGVyIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgdHJhbnNpdGlvbiB0YWJs ZXMgdGhhdCB3aWxsIGV2ZXIKICAgICAgZXhpc3QgYXQgb25jZS4gIDEwMjQgaXMgYXJiaXRy YXJ5LiAgVGhlIGlkZWEgaXMgdGhhdCB0aGUgZnJlcXVlbnRseQpAQCAtMjg1OSwyNSArMjg4 MywxMSBAQCBidWlsZF9zdGF0ZSAoc3RhdGVfbnVtIHMsIHN0cnVjdCBkZmEgKmQpCiAgIC8q IE5vdyBnbyB0aHJvdWdoIHRoZSBuZXcgdHJhbnNpdGlvbiB0YWJsZSwgYW5kIG1ha2Ugc3Vy ZSB0aGF0IHRoZSB0cmFucwogICAgICBhbmQgZmFpbCBhcnJheXMgYXJlIGFsbG9jYXRlZCBs YXJnZSBlbm91Z2ggdG8gaG9sZCBhIHBvaW50ZXIgZm9yIHRoZQogICAgICBsYXJnZXN0IHN0 YXRlIG1lbnRpb25lZCBpbiB0aGUgdGFibGUuICAqLworICBtYXhzdGF0ZSA9IC0xOwogICBm b3IgKGkgPSAwOyBpIDwgTk9UQ0hBUjsgKytpKQotICAgIGlmICh0cmFuc1tpXSA+PSBkLT50 cmFsbG9jKQotICAgICAgewotICAgICAgICBzdGF0ZV9udW0gb2xkYWxsb2MgPSBkLT50cmFs bG9jOwotCi0gICAgICAgIHdoaWxlICh0cmFuc1tpXSA+PSBkLT50cmFsbG9jKQotICAgICAg ICAgIGQtPnRyYWxsb2MgKj0gMjsKLSAgICAgICAgZC0+cmVhbHRyYW5zID0geG5yZWFsbG9j IChkLT5yZWFsdHJhbnMsIGQtPnRyYWxsb2MgKyAxLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVvZiAqZC0+cmVhbHRyYW5zKTsKLSAgICAgICAgZC0+dHJhbnMg PSBkLT5yZWFsdHJhbnMgKyAxOwotICAgICAgICBkLT5mYWlscyA9IHhucmVhbGxvYyAoZC0+ ZmFpbHMsIGQtPnRyYWxsb2MsIHNpemVvZiAqZC0+ZmFpbHMpOwotICAgICAgICBkLT5zdWNj ZXNzID0geG5yZWFsbG9jIChkLT5zdWNjZXNzLCBkLT50cmFsbG9jLCBzaXplb2YgKmQtPnN1 Y2Nlc3MpOwotICAgICAgICBkLT5uZXdsaW5lcyA9IHhucmVhbGxvYyAoZC0+bmV3bGluZXMs IGQtPnRyYWxsb2MsIHNpemVvZiAqZC0+bmV3bGluZXMpOwotICAgICAgICB3aGlsZSAob2xk YWxsb2MgPCBkLT50cmFsbG9jKQotICAgICAgICAgIHsKLSAgICAgICAgICAgIGQtPnRyYW5z W29sZGFsbG9jXSA9IE5VTEw7Ci0gICAgICAgICAgICBkLT5mYWlsc1tvbGRhbGxvYysrXSA9 IE5VTEw7Ci0gICAgICAgICAgfQotICAgICAgfQorICAgIGlmIChtYXhzdGF0ZSA8IHRyYW5z W2ldKQorICAgICAgbWF4c3RhdGUgPSB0cmFuc1tpXTsKKyAgcmVhbGxvY190cmFuc19pZl9u ZWNlc3NhcnkgKGQsIG1heHN0YXRlKTsKIAogICAvKiBLZWVwIHRoZSBuZXdsaW5lIHRyYW5z aXRpb24gaW4gYSBzcGVjaWFsIHBsYWNlIHNvIHdlIGNhbiB1c2UgaXQgYXMKICAgICAgYSBz ZW50aW5lbC4gICovCkBAIC0yODkzLDEzICsyOTAzLDE2IEBAIGJ1aWxkX3N0YXRlIChzdGF0 ZV9udW0gcywgc3RydWN0IGRmYSAqZCkKIHN0YXRpYyB2b2lkCiBidWlsZF9zdGF0ZV96ZXJv IChzdHJ1Y3QgZGZhICpkKQogewotICBkLT50cmFsbG9jID0gMTsKKyAgLyogSW5pdGlhbCBz aXplIG9mIHRoZSB0cmFuc2l0aW9uIHRhYmxlczsgbXVzdCBiZSBwb3NpdGl2ZS4gICovCisg IGludCBpbml0aWFsX3RhYl9zaXplID0gMTsKKworICBkLT50cmFsbG9jID0gMDsKICAgZC0+ dHJjb3VudCA9IDA7Ci0gIGQtPnJlYWx0cmFucyA9IHhjYWxsb2MgKGQtPnRyYWxsb2MgKyAx LCBzaXplb2YgKmQtPnJlYWx0cmFucyk7Ci0gIGQtPnRyYW5zID0gZC0+cmVhbHRyYW5zICsg MTsKLSAgZC0+ZmFpbHMgPSB4Y2FsbG9jIChkLT50cmFsbG9jLCBzaXplb2YgKmQtPmZhaWxz KTsKLSAgZC0+c3VjY2VzcyA9IHhubWFsbG9jIChkLT50cmFsbG9jLCBzaXplb2YgKmQtPnN1 Y2Nlc3MpOwotICBkLT5uZXdsaW5lcyA9IHhubWFsbG9jIChkLT50cmFsbG9jLCBzaXplb2Yg KmQtPm5ld2xpbmVzKTsKKyAgZC0+dHJhbnMgPSBOVUxMOworICBkLT5mYWlscyA9IE5VTEw7 CisgIGQtPnN1Y2Nlc3MgPSBOVUxMOworICBkLT5uZXdsaW5lcyA9IE5VTEw7CisgIHJlYWxs b2NfdHJhbnNfaWZfbmVjZXNzYXJ5IChkLCBpbml0aWFsX3RhYl9zaXplKTsKICAgYnVpbGRf c3RhdGUgKDAsIGQpOwogfQogCkBAIC0yOTI2LDMxICsyOTM5LDYgQEAgYnVpbGRfc3RhdGVf emVybyAoc3RydWN0IGRmYSAqZCkKICAgICAgICAgfQkJCQkJCVwKICAgICB9CiAKLXN0YXRp YyB2b2lkCi1yZWFsbG9jX3RyYW5zX2lmX25lY2Vzc2FyeSAoc3RydWN0IGRmYSAqZCwgc3Rh dGVfbnVtIG5ld19zdGF0ZSkKLXsKLSAgLyogTWFrZSBzdXJlIHRoYXQgdGhlIHRyYW5zIGFu ZCBmYWlsIGFycmF5cyBhcmUgYWxsb2NhdGVkIGxhcmdlIGVub3VnaAotICAgICB0byBob2xk IGEgcG9pbnRlciBmb3IgdGhlIG5ldyBzdGF0ZS4gICovCi0gIGlmIChuZXdfc3RhdGUgPj0g ZC0+dHJhbGxvYykKLSAgICB7Ci0gICAgICBzdGF0ZV9udW0gb2xkYWxsb2MgPSBkLT50cmFs bG9jOwotCi0gICAgICB3aGlsZSAobmV3X3N0YXRlID49IGQtPnRyYWxsb2MpCi0gICAgICAg IGQtPnRyYWxsb2MgKj0gMjsKLSAgICAgIGQtPnJlYWx0cmFucyA9IHhucmVhbGxvYyAoZC0+ cmVhbHRyYW5zLCBkLT50cmFsbG9jICsgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZW9mICpkLT5yZWFsdHJhbnMpOwotICAgICAgZC0+dHJhbnMgPSBkLT5yZWFs dHJhbnMgKyAxOwotICAgICAgZC0+ZmFpbHMgPSB4bnJlYWxsb2MgKGQtPmZhaWxzLCBkLT50 cmFsbG9jLCBzaXplb2YgKmQtPmZhaWxzKTsKLSAgICAgIGQtPnN1Y2Nlc3MgPSB4bnJlYWxs b2MgKGQtPnN1Y2Nlc3MsIGQtPnRyYWxsb2MsIHNpemVvZiAqZC0+c3VjY2Vzcyk7Ci0gICAg ICBkLT5uZXdsaW5lcyA9IHhucmVhbGxvYyAoZC0+bmV3bGluZXMsIGQtPnRyYWxsb2MsIHNp emVvZiAqZC0+bmV3bGluZXMpOwotICAgICAgd2hpbGUgKG9sZGFsbG9jIDwgZC0+dHJhbGxv YykKLSAgICAgICAgewotICAgICAgICAgIGQtPnRyYW5zW29sZGFsbG9jXSA9IE5VTEw7Ci0g ICAgICAgICAgZC0+ZmFpbHNbb2xkYWxsb2MrK10gPSBOVUxMOwotICAgICAgICB9Ci0gICAg fQotfQotCiAvKiBSZXR1cm4gdmFsdWVzIG9mIHRyYW5zaXRfc3RhdGVfc2luZ2xlYnl0ZSwg YW5kCiAgICB0cmFuc2l0X3N0YXRlX2NvbnN1bWVfMWNoYXIuICAqLwogdHlwZWRlZiBlbnVt CkBAIC0zNjEyLDcgKzM2MDAsNyBAQCBkZmFzdXBlcnNldCAoc3RydWN0IGRmYSAqZCkKICAg c3VwLT5zaW5kZXggPSAwOwogICBzdXAtPmZvbGxvd3MgPSBOVUxMOwogICBzdXAtPnRyYWxs b2MgPSAwOwotICBzdXAtPnJlYWx0cmFucyA9IE5VTEw7CisgIHN1cC0+dHJhbnMgPSBOVUxM OwogICBzdXAtPmZhaWxzID0gTlVMTDsKICAgc3VwLT5zdWNjZXNzID0gTlVMTDsKICAgc3Vw LT5uZXdsaW5lcyA9IE5VTEw7CkBAIC0zNzA5LDE2ICszNjk3LDE5IEBAIGRmYWZyZWUgKHN0 cnVjdCBkZmEgKmQpCiAgICAgICBmcmVlIChkLT5mb2xsb3dzKTsKICAgICB9CiAKLSAgZm9y IChpID0gMDsgaSA8IGQtPnRyYWxsb2M7ICsraSkKKyAgaWYgKGQtPnRyYW5zKQogICAgIHsK LSAgICAgIGZyZWUgKGQtPnRyYW5zW2ldKTsKLSAgICAgIGZyZWUgKGQtPmZhaWxzW2ldKTsK LSAgICB9CisgICAgICBmb3IgKGkgPSAwOyBpIDwgZC0+dHJhbGxvYzsgKytpKQorICAgICAg ICB7CisgICAgICAgICAgZnJlZSAoZC0+dHJhbnNbaV0pOworICAgICAgICAgIGZyZWUgKGQt PmZhaWxzW2ldKTsKKyAgICAgICAgfQogCi0gIGZyZWUgKGQtPnJlYWx0cmFucyk7Ci0gIGZy ZWUgKGQtPmZhaWxzKTsKLSAgZnJlZSAoZC0+bmV3bGluZXMpOwotICBmcmVlIChkLT5zdWNj ZXNzKTsKKyAgICAgIGZyZWUgKGQtPnRyYW5zIC0gMSk7CisgICAgICBmcmVlIChkLT5mYWls cyk7CisgICAgICBmcmVlIChkLT5uZXdsaW5lcyk7CisgICAgICBmcmVlIChkLT5zdWNjZXNz KTsKKyAgICB9CiAKICAgZm9yIChkbSA9IGQtPm11c3RzOyBkbTsgZG0gPSBuZG0pCiAgICAg ewotLSAKMS45LjAKCg== --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0005-dfa-simplify-range-char-allocation.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0005-dfa-simplify-range-char-allocation.patch" RnJvbSA5M2JkZmYwNjFiYjYxOTJkZGQ5Zjg5YjkwYWMxNTc5N2E5Y2UxZWQ0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDE1IEFwciAyMDE0IDE5OjIwOjIxIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNS8xMl0gZGZhOiBzaW1wbGlmeSByYW5nZSBjaGFyIGFsbG9jYXRpb24KCiogc3JjL2Rm YS5jIChzdHJ1Y3QgZGZhKTogU2ltcGxpZnkgYnkgYWxsb2NhdGluZyBvbmUgYXJyYXkgb2Yg cmFuZ2VzCnJhdGhlciB0aGFuIG9uZSBmb3IgcmFuZ2Ugc3RhcnRzIGFuZCBhbm90aGVyIGZv ciByYW5nZSBlbmRzLgpBbGwgdXNlcyBjaGFuZ2VkLgotLS0KIHNyYy9kZmEuYyB8IDUxICsr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9kZmEuYyBiL3NyYy9kZmEuYwppbmRleCBjNDdmM2UwLi5hM2U4YmQwIDEw MDY0NAotLS0gYS9zcmMvZGZhLmMKKysrIGIvc3JjL2RmYS5jCkBAIC0zMDcsOCArMzA3LDEx IEBAIHN0cnVjdCBtYl9jaGFyX2NsYXNzZXMKICAgc2l6ZV90IG5jaGFyczsKICAgd2N0eXBl X3QgKmNoX2NsYXNzZXM7ICAgICAgICAgLyogQ2hhcmFjdGVyIGNsYXNzZXMuICAqLwogICBz aXplX3QgbmNoX2NsYXNzZXM7Ci0gIHdjaGFyX3QgKnJhbmdlX3N0czsgICAgICAgICAgIC8q IFJhbmdlIGNoYXJhY3RlcnMgKHN0YXJ0IG9mIHRoZSByYW5nZSkuICAqLwotICB3Y2hhcl90 ICpyYW5nZV9lbmRzOyAgICAgICAgICAvKiBSYW5nZSBjaGFyYWN0ZXJzIChlbmQgb2YgdGhl IHJhbmdlKS4gICovCisgIHN0cnVjdAkJCS8qIFJhbmdlIGNoYXJhY3RlcnMuICAqLworICB7 CisgICAgd2NoYXJfdCBiZWc7CQkvKiBSYW5nZSBzdGFydC4gICovCisgICAgd2NoYXJfdCBl bmQ7CQkvKiBSYW5nZSBlbmQuICAqLworICB9ICpyYW5nZXM7CiAgIHNpemVfdCBucmFuZ2Vz OwogICBjaGFyICoqZXF1aXZzOyAgICAgICAgICAgICAgICAvKiBFcXVpdmFsZW5jZSBjbGFz c2VzLiAgKi8KICAgc2l6ZV90IG5lcXVpdnM7CkBAIC0xMDAzLDEyICsxMDA2LDkgQEAgcGFy c2VfYnJhY2tldF9leHAgKHZvaWQpCiAKICAgLyogV29yayBhcmVhIHRvIGJ1aWxkIGEgbWJf Y2hhcl9jbGFzc2VzLiAgKi8KICAgc3RydWN0IG1iX2NoYXJfY2xhc3NlcyAqd29ya19tYmM7 Ci0gIHNpemVfdCBjaGFyc19hbCwgcmFuZ2Vfc3RzX2FsLCByYW5nZV9lbmRzX2FsLCBjaF9j bGFzc2VzX2FsLAotICAgIGVxdWl2c19hbCwgY29sbF9lbGVtc19hbDsKKyAgc2l6ZV90IGNo YXJzX2FsLCByYW5nZXNfYWwsIGNoX2NsYXNzZXNfYWwsIGVxdWl2c19hbCwgY29sbF9lbGVt c19hbDsKIAotICBjaGFyc19hbCA9IDA7Ci0gIHJhbmdlX3N0c19hbCA9IHJhbmdlX2VuZHNf YWwgPSAwOwotICBjaF9jbGFzc2VzX2FsID0gZXF1aXZzX2FsID0gY29sbF9lbGVtc19hbCA9 IDA7CisgIGNoYXJzX2FsID0gcmFuZ2VzX2FsID0gY2hfY2xhc3Nlc19hbCA9IGVxdWl2c19h bCA9IGNvbGxfZWxlbXNfYWwgPSAwOwogICBpZiAoTUJfQ1VSX01BWCA+IDEpCiAgICAgewog ICAgICAgZGZhLT5tYmNzZXRzID0gbWF5YmVfcmVhbGxvYyAoZGZhLT5tYmNzZXRzLCBkZmEt Pm5tYmNzZXRzLApAQCAtMTE0NiwzMSArMTE0NiwxOSBAQCBwYXJzZV9icmFja2V0X2V4cCAo dm9pZCkKICAgICAgICAgICAgICAgICAgICAgIHRvIHRoZSBwYWlyIG9mIHJhbmdlcywgW20t el0gW00tWl0uICBBbHRob3VnaCB0aGlzIGNvZGUKICAgICAgICAgICAgICAgICAgICAgIGlz IHdyb25nIGluIG11bHRpcGxlIHdheXMsIGl0J3MgbmV2ZXIgdXNlZCBpbiBwcmFjdGljZS4K ICAgICAgICAgICAgICAgICAgICAgIEZJWE1FOiBSZW1vdmUgdGhpcyAoYW5kIHJlbGF0ZWQp IHVudXNlZCBjb2RlLiAgKi8KLSAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5yYW5nZV9z dHMKLSAgICAgICAgICAgICAgICAgICAgPSBtYXliZV9yZWFsbG9jICh3b3JrX21iYy0+cmFu Z2Vfc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJj LT5ucmFuZ2VzLCAmcmFuZ2Vfc3RzX2FsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNpemVvZiAqd29ya19tYmMtPnJhbmdlX3N0cyk7Ci0gICAgICAgICAgICAg ICAgICB3b3JrX21iYy0+cmFuZ2VfZW5kcwotICAgICAgICAgICAgICAgICAgICA9IG1heWJl X3JlYWxsb2MgKHdvcmtfbWJjLT5yYW5nZV9lbmRzLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5ucmFuZ2VzLCAmcmFuZ2VfZW5kc19hbCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKndvcmtfbWJjLT5y YW5nZV9lbmRzKTsKLSAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5yYW5nZV9zdHNbd29y a19tYmMtPm5yYW5nZXNdID0KLSAgICAgICAgICAgICAgICAgICAgY2FzZV9mb2xkID8gdG93 bG93ZXIgKHdjKSA6ICh3Y2hhcl90KSB3YzsKLSAgICAgICAgICAgICAgICAgIHdvcmtfbWJj LT5yYW5nZV9lbmRzW3dvcmtfbWJjLT5ucmFuZ2VzKytdID0KLSAgICAgICAgICAgICAgICAg ICAgY2FzZV9mb2xkID8gdG93bG93ZXIgKHdjMikgOiAod2NoYXJfdCkgd2MyOworICAgICAg ICAgICAgICAgICAgd29ya19tYmMtPnJhbmdlcworICAgICAgICAgICAgICAgICAgICA9IG1h eWJlX3JlYWxsb2MgKHdvcmtfbWJjLT5yYW5nZXMsIHdvcmtfbWJjLT5ucmFuZ2VzICsgMSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmFuZ2VzX2FsLCBzaXpl b2YgKndvcmtfbWJjLT5yYW5nZXMpOworICAgICAgICAgICAgICAgICAgd29ya19tYmMtPnJh bmdlc1t3b3JrX21iYy0+bnJhbmdlc10uYmVnCisgICAgICAgICAgICAgICAgICAgID0gY2Fz ZV9mb2xkID8gdG93bG93ZXIgKHdjKSA6IHdjOworICAgICAgICAgICAgICAgICAgd29ya19t YmMtPnJhbmdlc1t3b3JrX21iYy0+bnJhbmdlcysrXS5lbmQKKyAgICAgICAgICAgICAgICAg ICAgPSBjYXNlX2ZvbGQgPyB0b3dsb3dlciAod2MyKSA6IHdjMjsKIAogICAgICAgICAgICAg ICAgICAgaWYgKGNhc2VfZm9sZCAmJiAoaXN3YWxwaGEgKHdjKSB8fCBpc3dhbHBoYSAod2My KSkpCiAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICB3b3Jr X21iYy0+cmFuZ2Vfc3RzCi0gICAgICAgICAgICAgICAgICAgICAgICA9IG1heWJlX3JlYWxs b2MgKHdvcmtfbWJjLT5yYW5nZV9zdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHdvcmtfbWJjLT5ucmFuZ2VzLCAmcmFuZ2Vfc3RzX2FsLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKndvcmtfbWJjLT5y YW5nZV9zdHMpOwotICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5yYW5nZV9zdHNb d29ya19tYmMtPm5yYW5nZXNdID0gdG93dXBwZXIgKHdjKTsKLSAgICAgICAgICAgICAgICAg ICAgICB3b3JrX21iYy0+cmFuZ2VfZW5kcwotICAgICAgICAgICAgICAgICAgICAgICAgPSBt YXliZV9yZWFsbG9jICh3b3JrX21iYy0+cmFuZ2VfZW5kcywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgd29ya19tYmMtPm5yYW5nZXMsICZyYW5nZV9lbmRz X2FsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg KndvcmtfbWJjLT5yYW5nZV9lbmRzKTsKLSAgICAgICAgICAgICAgICAgICAgICB3b3JrX21i Yy0+cmFuZ2VfZW5kc1t3b3JrX21iYy0+bnJhbmdlcysrXSA9IHRvd3VwcGVyICh3YzIpOwor ICAgICAgICAgICAgICAgICAgICAgIHdvcmtfbWJjLT5yYW5nZXNbd29ya19tYmMtPm5yYW5n ZXNdLmJlZyA9IHRvd3VwcGVyICh3Yyk7CisgICAgICAgICAgICAgICAgICAgICAgd29ya19t YmMtPnJhbmdlc1t3b3JrX21iYy0+bnJhbmdlcysrXS5lbmQKKyAgICAgICAgICAgICAgICAg ICAgICAgID0gdG93dXBwZXIgKHdjMik7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGVsc2UgaWYgKHVzaW5nX3NpbXBsZV9sb2Nh bGUgKCkpCkBAIC0zMTEzLDcgKzMxMDEsNyBAQCBtYXRjaF9tYl9jaGFyc2V0IChzdHJ1Y3Qg ZGZhICpkLCBzdGF0ZV9udW0gcywgcG9zaXRpb24gcG9zLCBzaXplX3QgaWR4KQogICAvKiBt YXRjaCB3aXRoIGEgcmFuZ2U/ICAqLwogICBmb3IgKGkgPSAwOyBpIDwgd29ya19tYmMtPm5y YW5nZXM7IGkrKykKICAgICB7Ci0gICAgICBpZiAod29ya19tYmMtPnJhbmdlX3N0c1tpXSA8 PSB3YyAmJiB3YyA8PSB3b3JrX21iYy0+cmFuZ2VfZW5kc1tpXSkKKyAgICAgIGlmICh3b3Jr X21iYy0+cmFuZ2VzW2ldLmJlZyA8PSB3YyAmJiB3YyA8PSB3b3JrX21iYy0+cmFuZ2VzW2ld LmVuZCkKICAgICAgICAgZ290byBjaGFyc2V0X21hdGNoZWQ7CiAgICAgfQogCkBAIC0zNTIw LDggKzM1MDgsNyBAQCBmcmVlX21iZGF0YSAoc3RydWN0IGRmYSAqZCkKICAgICAgIHN0cnVj dCBtYl9jaGFyX2NsYXNzZXMgKnAgPSAmKGQtPm1iY3NldHNbaV0pOwogICAgICAgZnJlZSAo cC0+Y2hhcnMpOwogICAgICAgZnJlZSAocC0+Y2hfY2xhc3Nlcyk7Ci0gICAgICBmcmVlIChw LT5yYW5nZV9zdHMpOwotICAgICAgZnJlZSAocC0+cmFuZ2VfZW5kcyk7CisgICAgICBmcmVl IChwLT5yYW5nZXMpOwogCiAgICAgICBmb3IgKGogPSAwOyBqIDwgcC0+bmVxdWl2czsgKytq KQogICAgICAgICBmcmVlIChwLT5lcXVpdnNbal0pOwotLSAKMS45LjAKCg== --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0006-dfa-simplify-multibyte_prop-allocation.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0006-dfa-simplify-multibyte_prop-allocation.patch" RnJvbSBlZDdhODgyMWUzOGQ1YTVmZGQ2NGYwZjVjZmNhNmNmODllMzMxY2ExIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDE1IEFwciAyMDE0IDIyOjU5OjI1IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNi8xMl0gZGZhOiBzaW1wbGlmeSBtdWx0aWJ5dGVfcHJvcCBhbGxvY2F0aW9uCgoqIHNy Yy9kZmEuYyAoc3RydWN0IGRmYSk6IFNpbXBsaWZ5IGJ5IHJlbW92aW5nIG5tdWx0aWJ5dGVf cHJvcDsKaXQgc2hvdWxkIGFsd2F5cyBiZSB0aGUgc2FtZSBhcyB0YWxsb2MuICBBbGwgdXNl cyBjaGFuZ2VkLgotLS0KIHNyYy9kZmEuYyB8IDE3ICsrKysrKysrLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyYy9kZmEuYyBiL3NyYy9kZmEuYwppbmRleCBhM2U4YmQwLi4wNTBhMTgwIDEwMDY0 NAotLS0gYS9zcmMvZGZhLmMKKysrIGIvc3JjL2RmYS5jCkBAIC0zNTksNyArMzU5LDYgQEAg c3RydWN0IGRmYQogICAgICBtdWx0aWJ5dGVfcHJvcAogICAgICA9IDMgICAgICwgMSAgICAg ICAgICAgICAgICwgIDAgICAgICAgICAgICAgICwgIDIgICAgICAgICAgICAgICwgMwogICAg Ki8KLSAgc2l6ZV90IG5tdWx0aWJ5dGVfcHJvcDsKICAgaW50ICptdWx0aWJ5dGVfcHJvcDsK IAogICAvKiBBIHRhYmxlIGluZGV4ZWQgYnkgYnl0ZSB2YWx1ZXMgdGhhdCBjb250YWlucyB0 aGUgY29ycmVzcG9uZGluZyB3aWRlCkBAIC0xNTgxLDE2ICsxNTgwLDE2IEBAIHN0YXRpYyBz aXplX3QgZGVwdGg7ICAgICAgICAgICAgLyogQ3VycmVudCBkZXB0aCBvZiBhIGh5cG90aGV0 aWNhbCBzdGFjawogc3RhdGljIHZvaWQKIGFkZHRva19tYiAodG9rZW4gdCwgaW50IG1icHJv cCkKIHsKLSAgaWYgKE1CX0NVUl9NQVggPiAxKQorICBpZiAoZGZhLT50YWxsb2MgPT0gZGZh LT50aW5kZXgpCiAgICAgewotICAgICAgZGZhLT5tdWx0aWJ5dGVfcHJvcCA9IG1heWJlX3Jl YWxsb2MgKGRmYS0+bXVsdGlieXRlX3Byb3AsIGRmYS0+dGluZGV4LAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkZmEtPm5tdWx0aWJ5dGVfcHJvcCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKmRm YS0+bXVsdGlieXRlX3Byb3ApOwotICAgICAgZGZhLT5tdWx0aWJ5dGVfcHJvcFtkZmEtPnRp bmRleF0gPSBtYnByb3A7CisgICAgICBkZmEtPnRva2VucyA9IHgybnJlYWxsb2MgKGRmYS0+ dG9rZW5zLCAmZGZhLT50YWxsb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVvZiAqZGZhLT50b2tlbnMpOworICAgICAgaWYgKE1CX0NVUl9NQVggPiAxKQorICAg ICAgICBkZmEtPm11bHRpYnl0ZV9wcm9wID0geG5yZWFsbG9jIChkZmEtPm11bHRpYnl0ZV9w cm9wLCBkZmEtPnRhbGxvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZW9mICpkZmEtPm11bHRpYnl0ZV9wcm9wKTsKICAgICB9Ci0KLSAgZGZhLT50 b2tlbnMgPSBtYXliZV9yZWFsbG9jIChkZmEtPnRva2VucywgZGZhLT50aW5kZXgsICZkZmEt PnRhbGxvYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKmRmYS0+ dG9rZW5zKTsKKyAgaWYgKE1CX0NVUl9NQVggPiAxKQorICAgIGRmYS0+bXVsdGlieXRlX3By b3BbZGZhLT50aW5kZXhdID0gbWJwcm9wOwogICBkZmEtPnRva2Vuc1tkZmEtPnRpbmRleCsr XSA9IHQ7CiAKICAgc3dpdGNoICh0KQotLSAKMS45LjAKCg== --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0007-dfa-simplify-position-set-and-element-count-allocati.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0007-dfa-simplify-position-set-and-element-count-allocati.pa"; filename*1="tch" RnJvbSBmN2U5MjAwYmNmNWYxYTAyMTYzN2UxNzIyNWY3ZTY5YmYwYjljNDA1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDE3IEFwciAyMDE0IDE3OjUwOjU1IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNy8xMl0gZGZhOiBzaW1wbGlmeSBwb3NpdGlvbiBzZXQgYW5kIGVsZW1lbnQgY291bnQg YWxsb2NhdGlvbgoKKiBzcmMvZGZhLmMgKGRmYWFuYWx5emUpOiBBbGxvY2F0aW9uIHBvc2l0 aW9uIHNldCBpbmZvIGFsbCBhdCBvbmUgZ28sCmFuZCBzaW1pbGFybHkgZm9yIGVsZW1lbnQg Y291bnQgaW5mby4KLS0tCiBzcmMvZGZhLmMgfCAxMTAgKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA1MiBpbnNlcnRpb25zKCspLCA1OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvZGZhLmMgYi9zcmMvZGZhLmMKaW5kZXggMDUwYTE4MC4uNGIwZTdmMiAxMDA2NDQKLS0t IGEvc3JjL2RmYS5jCisrKyBiL3NyYy9kZmEuYwpAQCAtMjMwNywxNyArMjMwNywyNiBAQCBz dGF0ZV9zZXBhcmF0ZV9jb250ZXh0cyAocG9zaXRpb25fc2V0IGNvbnN0ICpzKQogdm9pZAog ZGZhYW5hbHl6ZSAoc3RydWN0IGRmYSAqZCwgaW50IHNlYXJjaGZsYWcpCiB7Ci0gIGJvb2wg Km51bGxhYmxlOyAgICAgICAgICAgICAgIC8qIE51bGxhYmxlIHN0YWNrLiAgKi8KLSAgc2l6 ZV90ICpuZmlyc3Rwb3M7ICAgICAgICAgICAgLyogRWxlbWVudCBjb3VudCBzdGFjayBmb3Ig Zmlyc3Rwb3Mgc2V0cy4gICovCi0gIHBvc2l0aW9uICpmaXJzdHBvczsgICAgICAgICAgIC8q IEFycmF5IHdoZXJlIGZpcnN0cG9zIGVsZW1lbnRzIGFyZSBzdG9yZWQuICAqLwotICBzaXpl X3QgKm5sYXN0cG9zOyAgICAgICAgICAgICAvKiBFbGVtZW50IGNvdW50IHN0YWNrIGZvciBs YXN0cG9zIHNldHMuICAqLwotICBwb3NpdGlvbiAqbGFzdHBvczsgICAgICAgICAgICAvKiBB cnJheSB3aGVyZSBsYXN0cG9zIGVsZW1lbnRzIGFyZSBzdG9yZWQuICAqLworICAvKiBBcnJh eSBhbGxvY2F0ZWQgdG8gaG9sZCBwb3NpdGlvbiBzZXRzLiAgKi8KKyAgcG9zaXRpb24gKnBv c2FsbG9jID0geG5tYWxsb2MgKGQtPm5sZWF2ZXMsIDIgKiBzaXplb2YgKnBvc2FsbG9jKTsK KyAgLyogRmlyc3Rwb3MgYW5kIGxhc3Rwb3MgZWxlbWVudHMuICAqLworICBwb3NpdGlvbiAq Zmlyc3Rwb3MgPSBwb3NhbGxvYyArIGQtPm5sZWF2ZXM7CisgIHBvc2l0aW9uICpsYXN0cG9z ID0gZmlyc3Rwb3MgKyBkLT5ubGVhdmVzOworCisgIC8qIFN0YWNrIGZvciBlbGVtZW50IGNv dW50cyBhbmQgbnVsbGFibGUgZmxhZ3MuICAqLworICBzdHJ1Y3QKKyAgeworICAgIC8qIFdo ZXRoZXIgdGhlIGVudHJ5IGlzIG51bGxhYmxlLiAgKi8KKyAgICBib29sIG51bGxhYmxlOwor CisgICAgLyogQ291bnRzIG9mIGZpcnN0cG9zIGFuZCBsYXN0cG9zIHNldHMuICAqLworICAg IHNpemVfdCBuZmlyc3Rwb3M7CisgICAgc2l6ZV90IG5sYXN0cG9zOworICB9ICpzdGthbGxv YyA9IHhubWFsbG9jIChkLT5kZXB0aCwgc2l6ZW9mICpzdGthbGxvYyksICpzdGsgPSBzdGth bGxvYzsKKwogICBwb3NpdGlvbl9zZXQgdG1wOyAgICAgICAgICAgICAvKiBUZW1wb3Jhcnkg c2V0IGZvciBtZXJnaW5nIHNldHMuICAqLwogICBwb3NpdGlvbl9zZXQgbWVyZ2VkOyAgICAg ICAgICAvKiBSZXN1bHQgb2YgbWVyZ2luZyBzZXRzLiAgKi8KICAgaW50IHNlcGFyYXRlX2Nv bnRleHRzOyAgICAgICAgLyogQ29udGV4dCB3YW50ZWQgYnkgc29tZSBwb3NpdGlvbi4gICov Ci0gIGJvb2wgKm9fbnVsbGFibGU7Ci0gIHNpemVfdCAqb19uZmlyc3QsICpvX25sYXN0Owot ICBwb3NpdGlvbiAqb19maXJzdHBvcywgKm9fbGFzdHBvczsKICAgc2l6ZV90IGksIGo7CiAg IHBvc2l0aW9uICpwb3M7CiAKQEAgLTIzMzIsMTkgKzIzNDEsNyBAQCBkZmFhbmFseXplIChz dHJ1Y3QgZGZhICpkLCBpbnQgc2VhcmNoZmxhZykKICNlbmRpZgogCiAgIGQtPnNlYXJjaGZs YWcgPSBzZWFyY2hmbGFnICE9IDA7Ci0KLSAgbnVsbGFibGUgPSB4bm1hbGxvYyAoZC0+ZGVw dGgsIHNpemVvZiAqbnVsbGFibGUpOwotICBvX251bGxhYmxlID0gbnVsbGFibGU7Ci0gIG5m aXJzdHBvcyA9IHhubWFsbG9jIChkLT5kZXB0aCwgc2l6ZW9mICpuZmlyc3Rwb3MpOwotICBv X25maXJzdCA9IG5maXJzdHBvczsKLSAgZmlyc3Rwb3MgPSB4bm1hbGxvYyAoZC0+bmxlYXZl cywgc2l6ZW9mICpmaXJzdHBvcyk7Ci0gIG9fZmlyc3Rwb3MgPSBmaXJzdHBvcywgZmlyc3Rw b3MgKz0gZC0+bmxlYXZlczsKLSAgbmxhc3Rwb3MgPSB4bm1hbGxvYyAoZC0+ZGVwdGgsIHNp emVvZiAqbmxhc3Rwb3MpOwotICBvX25sYXN0ID0gbmxhc3Rwb3M7Ci0gIGxhc3Rwb3MgPSB4 bm1hbGxvYyAoZC0+bmxlYXZlcywgc2l6ZW9mICpsYXN0cG9zKTsKLSAgb19sYXN0cG9zID0g bGFzdHBvcywgbGFzdHBvcyArPSBkLT5ubGVhdmVzOwogICBhbGxvY19wb3NpdGlvbl9zZXQg KCZtZXJnZWQsIGQtPm5sZWF2ZXMpOwotCiAgIGQtPmZvbGxvd3MgPSB4Y2FsbG9jIChkLT50 aW5kZXgsIHNpemVvZiAqZC0+Zm9sbG93cyk7CiAKICAgZm9yIChpID0gMDsgaSA8IGQtPnRp bmRleDsgKytpKQpAQCAtMjM1MywyMCArMjM1MCwyMSBAQCBkZmFhbmFseXplIChzdHJ1Y3Qg ZGZhICpkLCBpbnQgc2VhcmNoZmxhZykKICAgICAgICAgewogICAgICAgICBjYXNlIEVNUFRZ OgogICAgICAgICAgIC8qIFRoZSBlbXB0eSBzZXQgaXMgbnVsbGFibGUuICAqLwotICAgICAg ICAgICpudWxsYWJsZSsrID0gdHJ1ZTsKKyAgICAgICAgICBzdGstPm51bGxhYmxlID0gdHJ1 ZTsKIAogICAgICAgICAgIC8qIFRoZSBmaXJzdHBvcyBhbmQgbGFzdHBvcyBvZiB0aGUgZW1w dHkgbGVhZiBhcmUgYm90aCBlbXB0eS4gICovCi0gICAgICAgICAgKm5maXJzdHBvcysrID0g Km5sYXN0cG9zKysgPSAwOworICAgICAgICAgIHN0ay0+bmZpcnN0cG9zID0gc3RrLT5ubGFz dHBvcyA9IDA7CisgICAgICAgICAgc3RrKys7CiAgICAgICAgICAgYnJlYWs7CiAKICAgICAg ICAgY2FzZSBTVEFSOgogICAgICAgICBjYXNlIFBMVVM6CiAgICAgICAgICAgLyogRXZlcnkg ZWxlbWVudCBpbiB0aGUgZmlyc3Rwb3Mgb2YgdGhlIGFyZ3VtZW50IGlzIGluIHRoZSBmb2xs b3cKICAgICAgICAgICAgICBvZiBldmVyeSBlbGVtZW50IGluIHRoZSBsYXN0cG9zLiAgKi8K LSAgICAgICAgICB0bXAubmVsZW0gPSBuZmlyc3Rwb3NbLTFdOworICAgICAgICAgIHRtcC5u ZWxlbSA9IHN0a1stMV0ubmZpcnN0cG9zOwogICAgICAgICAgIHRtcC5lbGVtcyA9IGZpcnN0 cG9zOwogICAgICAgICAgIHBvcyA9IGxhc3Rwb3M7Ci0gICAgICAgICAgZm9yIChqID0gMDsg aiA8IG5sYXN0cG9zWy0xXTsgKytqKQorICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBzdGtb LTFdLm5sYXN0cG9zOyArK2opCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIG1lcmdl ICgmdG1wLCAmZC0+Zm9sbG93c1twb3Nbal0uaW5kZXhdLCAmbWVyZ2VkKTsKICAgICAgICAg ICAgICAgY29weSAoJm1lcmdlZCwgJmQtPmZvbGxvd3NbcG9zW2pdLmluZGV4XSk7CkBAIC0y Mzc1LDE2ICsyMzczLDE2IEBAIGRmYWFuYWx5emUgKHN0cnVjdCBkZmEgKmQsIGludCBzZWFy Y2hmbGFnKQogICAgICAgICBjYXNlIFFNQVJLOgogICAgICAgICAgIC8qIEEgUU1BUksgb3Ig U1RBUiBub2RlIGlzIGF1dG9tYXRpY2FsbHkgbnVsbGFibGUuICAqLwogICAgICAgICAgIGlm IChkLT50b2tlbnNbaV0gIT0gUExVUykKLSAgICAgICAgICAgIG51bGxhYmxlWy0xXSA9IHRy dWU7CisgICAgICAgICAgICBzdGtbLTFdLm51bGxhYmxlID0gdHJ1ZTsKICAgICAgICAgICBi cmVhazsKIAogICAgICAgICBjYXNlIENBVDoKICAgICAgICAgICAvKiBFdmVyeSBlbGVtZW50 IGluIHRoZSBmaXJzdHBvcyBvZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIGluIHRoZQogICAg ICAgICAgICAgIGZvbGxvdyBvZiBldmVyeSBlbGVtZW50IGluIHRoZSBsYXN0cG9zIG9mIHRo ZSBmaXJzdCBhcmd1bWVudC4gICovCi0gICAgICAgICAgdG1wLm5lbGVtID0gbmZpcnN0cG9z Wy0xXTsKKyAgICAgICAgICB0bXAubmVsZW0gPSBzdGtbLTFdLm5maXJzdHBvczsKICAgICAg ICAgICB0bXAuZWxlbXMgPSBmaXJzdHBvczsKLSAgICAgICAgICBwb3MgPSBsYXN0cG9zICsg bmxhc3Rwb3NbLTFdOwotICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBubGFzdHBvc1stMl07 ICsraikKKyAgICAgICAgICBwb3MgPSBsYXN0cG9zICsgc3RrWy0xXS5ubGFzdHBvczsKKyAg ICAgICAgICBmb3IgKGogPSAwOyBqIDwgc3RrWy0yXS5ubGFzdHBvczsgKytqKQogICAgICAg ICAgICAgewogICAgICAgICAgICAgICBtZXJnZSAoJnRtcCwgJmQtPmZvbGxvd3NbcG9zW2pd LmluZGV4XSwgJm1lcmdlZCk7CiAgICAgICAgICAgICAgIGNvcHkgKCZtZXJnZWQsICZkLT5m b2xsb3dzW3Bvc1tqXS5pbmRleF0pOwpAQCAtMjM5Miw0MyArMjM5MCwzOSBAQCBkZmFhbmFs eXplIChzdHJ1Y3QgZGZhICpkLCBpbnQgc2VhcmNoZmxhZykKIAogICAgICAgICAgIC8qIFRo ZSBmaXJzdHBvcyBvZiBhIENBVCBub2RlIGlzIHRoZSBmaXJzdHBvcyBvZiB0aGUgZmlyc3Qg YXJndW1lbnQsCiAgICAgICAgICAgICAgdW5pb24gdGhhdCBvZiB0aGUgc2Vjb25kIGFyZ3Vt ZW50IGlmIHRoZSBmaXJzdCBpcyBudWxsYWJsZS4gICovCi0gICAgICAgICAgaWYgKG51bGxh YmxlWy0yXSkKLSAgICAgICAgICAgIG5maXJzdHBvc1stMl0gKz0gbmZpcnN0cG9zWy0xXTsK KyAgICAgICAgICBpZiAoc3RrWy0yXS5udWxsYWJsZSkKKyAgICAgICAgICAgIHN0a1stMl0u bmZpcnN0cG9zICs9IHN0a1stMV0ubmZpcnN0cG9zOwogICAgICAgICAgIGVsc2UKLSAgICAg ICAgICAgIGZpcnN0cG9zICs9IG5maXJzdHBvc1stMV07Ci0gICAgICAgICAgLS1uZmlyc3Rw b3M7CisgICAgICAgICAgICBmaXJzdHBvcyArPSBzdGtbLTFdLm5maXJzdHBvczsKIAogICAg ICAgICAgIC8qIFRoZSBsYXN0cG9zIG9mIGEgQ0FUIG5vZGUgaXMgdGhlIGxhc3Rwb3Mgb2Yg dGhlIHNlY29uZCBhcmd1bWVudCwKICAgICAgICAgICAgICB1bmlvbiB0aGF0IG9mIHRoZSBm aXJzdCBhcmd1bWVudCBpZiB0aGUgc2Vjb25kIGlzIG51bGxhYmxlLiAgKi8KLSAgICAgICAg ICBpZiAobnVsbGFibGVbLTFdKQotICAgICAgICAgICAgbmxhc3Rwb3NbLTJdICs9IG5sYXN0 cG9zWy0xXTsKKyAgICAgICAgICBpZiAoc3RrWy0xXS5udWxsYWJsZSkKKyAgICAgICAgICAg IHN0a1stMl0ubmxhc3Rwb3MgKz0gc3RrWy0xXS5ubGFzdHBvczsKICAgICAgICAgICBlbHNl CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIHBvcyA9IGxhc3Rwb3MgKyBubGFzdHBv c1stMl07Ci0gICAgICAgICAgICAgIGZvciAoaiA9IG5sYXN0cG9zWy0xXTsgai0tID4gMDsp CisgICAgICAgICAgICAgIHBvcyA9IGxhc3Rwb3MgKyBzdGtbLTJdLm5sYXN0cG9zOworICAg ICAgICAgICAgICBmb3IgKGogPSBzdGtbLTFdLm5sYXN0cG9zOyBqLS0gPiAwOykKICAgICAg ICAgICAgICAgICBwb3Nbal0gPSBsYXN0cG9zW2pdOwotICAgICAgICAgICAgICBsYXN0cG9z ICs9IG5sYXN0cG9zWy0yXTsKLSAgICAgICAgICAgICAgbmxhc3Rwb3NbLTJdID0gbmxhc3Rw b3NbLTFdOworICAgICAgICAgICAgICBsYXN0cG9zICs9IHN0a1stMl0ubmxhc3Rwb3M7Cisg ICAgICAgICAgICAgIHN0a1stMl0ubmxhc3Rwb3MgPSBzdGtbLTFdLm5sYXN0cG9zOwogICAg ICAgICAgICAgfQotICAgICAgICAgIC0tbmxhc3Rwb3M7CiAKICAgICAgICAgICAvKiBBIENB VCBub2RlIGlzIG51bGxhYmxlIGlmIGJvdGggYXJndW1lbnRzIGFyZSBudWxsYWJsZS4gICov Ci0gICAgICAgICAgbnVsbGFibGVbLTJdICY9IG51bGxhYmxlWy0xXTsKLSAgICAgICAgICAt LW51bGxhYmxlOworICAgICAgICAgIHN0a1stMl0ubnVsbGFibGUgJj0gc3RrWy0xXS5udWxs YWJsZTsKKyAgICAgICAgICBzdGstLTsKICAgICAgICAgICBicmVhazsKIAogICAgICAgICBj YXNlIE9SOgogICAgICAgICAgIC8qIFRoZSBmaXJzdHBvcyBpcyB0aGUgdW5pb24gb2YgdGhl IGZpcnN0cG9zIG9mIGVhY2ggYXJndW1lbnQuICAqLwotICAgICAgICAgIG5maXJzdHBvc1st Ml0gKz0gbmZpcnN0cG9zWy0xXTsKLSAgICAgICAgICAtLW5maXJzdHBvczsKKyAgICAgICAg ICBzdGtbLTJdLm5maXJzdHBvcyArPSBzdGtbLTFdLm5maXJzdHBvczsKIAogICAgICAgICAg IC8qIFRoZSBsYXN0cG9zIGlzIHRoZSB1bmlvbiBvZiB0aGUgbGFzdHBvcyBvZiBlYWNoIGFy Z3VtZW50LiAgKi8KLSAgICAgICAgICBubGFzdHBvc1stMl0gKz0gbmxhc3Rwb3NbLTFdOwot ICAgICAgICAgIC0tbmxhc3Rwb3M7CisgICAgICAgICAgc3RrWy0yXS5ubGFzdHBvcyArPSBz dGtbLTFdLm5sYXN0cG9zOwogCiAgICAgICAgICAgLyogQW4gT1Igbm9kZSBpcyBudWxsYWJs ZSBpZiBlaXRoZXIgYXJndW1lbnQgaXMgbnVsbGFibGUuICAqLwotICAgICAgICAgIG51bGxh YmxlWy0yXSB8PSBudWxsYWJsZVstMV07Ci0gICAgICAgICAgLS1udWxsYWJsZTsKKyAgICAg ICAgICBzdGtbLTJdLm51bGxhYmxlIHw9IHN0a1stMV0ubnVsbGFibGU7CisgICAgICAgICAg c3RrLS07CiAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgZGVmYXVsdDoKQEAgLTI0Mzcs MTAgKzI0MzEsMTIgQEAgZGZhYW5hbHl6ZSAoc3RydWN0IGRmYSAqZCwgaW50IHNlYXJjaGZs YWcpCiAgICAgICAgICAgICAgYW4gImVwc2lsb24gY2xvc3VyZSIgZWZmZWN0aXZlbHkgbWFr ZXMgdGhlbSBudWxsYWJsZSBsYXRlci4KICAgICAgICAgICAgICBCYWNrcmVmZXJlbmNlcyBo YXZlIHRvIGdldCBhIHJlYWwgcG9zaXRpb24gc28gd2UgY2FuIGRldGVjdAogICAgICAgICAg ICAgIHRyYW5zaXRpb25zIG9uIHRoZW0gbGF0ZXIuICBCdXQgdGhleSBhcmUgbnVsbGFibGUu ICAqLwotICAgICAgICAgICpudWxsYWJsZSsrID0gZC0+dG9rZW5zW2ldID09IEJBQ0tSRUY7 CisgICAgICAgICAgc3RrLT5udWxsYWJsZSA9IGQtPnRva2Vuc1tpXSA9PSBCQUNLUkVGOwog CiAgICAgICAgICAgLyogVGhpcyBwb3NpdGlvbiBpcyBpbiBpdHMgb3duIGZpcnN0cG9zIGFu ZCBsYXN0cG9zLiAgKi8KLSAgICAgICAgICAqbmZpcnN0cG9zKysgPSAqbmxhc3Rwb3MrKyA9 IDE7CisgICAgICAgICAgc3RrLT5uZmlyc3Rwb3MgPSBzdGstPm5sYXN0cG9zID0gMTsKKyAg ICAgICAgICBzdGsrKzsKKwogICAgICAgICAgIC0tZmlyc3Rwb3MsIC0tbGFzdHBvczsKICAg ICAgICAgICBmaXJzdHBvcy0+aW5kZXggPSBsYXN0cG9zLT5pbmRleCA9IGk7CiAgICAgICAg ICAgZmlyc3Rwb3MtPmNvbnN0cmFpbnQgPSBsYXN0cG9zLT5jb25zdHJhaW50ID0gTk9fQ09O U1RSQUlOVDsKQEAgLTI0NTQsMTUgKzI0NTAsMTYgQEAgZGZhYW5hbHl6ZSAoc3RydWN0IGRm YSAqZCwgaW50IHNlYXJjaGZsYWcpCiAgICAgICBmcHJpbnRmIChzdGRlcnIsICJub2RlICV6 ZDoiLCBpKTsKICAgICAgIHBydG9rIChkLT50b2tlbnNbaV0pOwogICAgICAgcHV0YyAoJ1xu Jywgc3RkZXJyKTsKLSAgICAgIGZwcmludGYgKHN0ZGVyciwgbnVsbGFibGVbLTFdID8gIiBu dWxsYWJsZTogeWVzXG4iIDogIiBudWxsYWJsZTogbm9cbiIpOworICAgICAgZnByaW50ZiAo c3RkZXJyLAorICAgICAgICAgICAgICAgc3RrWy0xXS5udWxsYWJsZSA/ICIgbnVsbGFibGU6 IHllc1xuIiA6ICIgbnVsbGFibGU6IG5vXG4iKTsKICAgICAgIGZwcmludGYgKHN0ZGVyciwg IiBmaXJzdHBvczoiKTsKLSAgICAgIGZvciAoaiA9IG5maXJzdHBvc1stMV07IGotLSA+IDA7 KQorICAgICAgZm9yIChqID0gc3RrWy0xXS5uZmlyc3Rwb3M7IGotLSA+IDA7KQogICAgICAg ICB7CiAgICAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAiICV6ZDoiLCBmaXJzdHBvc1tqXS5p bmRleCk7CiAgICAgICAgICAgcHJ0b2sgKGQtPnRva2Vuc1tmaXJzdHBvc1tqXS5pbmRleF0p OwogICAgICAgICB9CiAgICAgICBmcHJpbnRmIChzdGRlcnIsICJcbiBsYXN0cG9zOiIpOwot ICAgICAgZm9yIChqID0gbmxhc3Rwb3NbLTFdOyBqLS0gPiAwOykKKyAgICAgIGZvciAoaiA9 IHN0a1stMV0ubmxhc3Rwb3M7IGotLSA+IDA7KQogICAgICAgICB7CiAgICAgICAgICAgZnBy aW50ZiAoc3RkZXJyLCAiICV6ZDoiLCBsYXN0cG9zW2pdLmluZGV4KTsKICAgICAgICAgICBw cnRvayAoZC0+dG9rZW5zW2xhc3Rwb3Nbal0uaW5kZXhdKTsKQEAgLTI0OTcsNyArMjQ5NCw3 IEBAIGRmYWFuYWx5emUgKHN0cnVjdCBkZmEgKmQsIGludCBzZWFyY2hmbGFnKQogICAvKiBH ZXQgdGhlIGVwc2lsb24gY2xvc3VyZSBvZiB0aGUgZmlyc3Rwb3Mgb2YgdGhlIHJlZ2V4cC4g IFRoZSByZXN1bHQgd2lsbAogICAgICBiZSB0aGUgc2V0IG9mIHBvc2l0aW9ucyBvZiBzdGF0 ZSAwLiAgKi8KICAgbWVyZ2VkLm5lbGVtID0gMDsKLSAgZm9yIChpID0gMDsgaSA8IG5maXJz dHBvc1stMV07ICsraSkKKyAgZm9yIChpID0gMDsgaSA8IHN0a1stMV0ubmZpcnN0cG9zOyAr K2kpCiAgICAgaW5zZXJ0IChmaXJzdHBvc1tpXSwgJm1lcmdlZCk7CiAgIGVwc2Nsb3N1cmUg KCZtZXJnZWQsIGQpOwogCkBAIC0yNTA3LDExICsyNTA0LDggQEAgZGZhYW5hbHl6ZSAoc3Ry dWN0IGRmYSAqZCwgaW50IHNlYXJjaGZsYWcpCiAgICAgICAgICAgICAgICAoc2VwYXJhdGVf Y29udGV4dHMgJiBDVFhfTkVXTElORQogICAgICAgICAgICAgICAgID8gQ1RYX05FV0xJTkUg OiBzZXBhcmF0ZV9jb250ZXh0cyBeIENUWF9BTlkpKTsKIAotICBmcmVlIChvX251bGxhYmxl KTsKLSAgZnJlZSAob19uZmlyc3QpOwotICBmcmVlIChvX2ZpcnN0cG9zKTsKLSAgZnJlZSAo b19ubGFzdCk7Ci0gIGZyZWUgKG9fbGFzdHBvcyk7CisgIGZyZWUgKHBvc2FsbG9jKTsKKyAg ZnJlZSAoc3RrYWxsb2MpOwogICBmcmVlIChtZXJnZWQuZWxlbXMpOwogfQogCi0tIAoxLjku MAoK --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0008-dfa-simplify-memory-allocation.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0008-dfa-simplify-memory-allocation.patch" RnJvbSA4MjFhNmNhMTk4MDNjZDY4YjIxYzYzZjBjNTE5MTRmZWQxZGJjMDJjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDE3IEFwciAyMDE0IDE5OjQ0OjM3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwOC8xMl0gZGZhOiBzaW1wbGlmeSBtZW1vcnkgYWxsb2NhdGlvbgoKKiBzcmMvZGZhLmMg KGljYXRhbGxvYywgZnJlZWxpc3QsIGVubGlzdCwgY29tc3VicywgYWRkbGlzdHMsIGluYm90 aCkKKGRmYW11c3QpOiBEb24ndCB3b3JyeSBhYm91dCBudWxsIGFyZ3VtZW50cyBvciByZXN1 bHRzLAphcyBtZW1vcnkgYWxsb2NhdG9ycyBubyBsb25nZXIgY2FuIHJldHVybiBudWxsIHBv aW50ZXJzLgooZGZhbXVzdCk6IEludm9rZSBtYWxsb2MganVzdCBvbmNlIHdoZW4gYnVpbGRp bmcgYSBjb25jYXRlbmF0ZWQgc3RyaW5nLgotLS0KIHNyYy9kZmEuYyB8IDExOSArKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDk1IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyYy9kZmEuYyBiL3NyYy9kZmEuYwppbmRleCA0YjBlN2YyLi40NDRh ZjU2IDEwMDY0NAotLS0gYS9zcmMvZGZhLmMKKysrIGIvc3JjL2RmYS5jCkBAIC0zNzkwLDIx ICszNzkwLDE2IEBAIHN0YXRpYyBjaGFyICoKIGljYXRhbGxvYyAoY2hhciAqb2xkLCBjaGFy IGNvbnN0ICpuZXcpCiB7CiAgIGNoYXIgKnJlc3VsdDsKLSAgc2l6ZV90IG9sZHNpemUgPSBv bGQgPT0gTlVMTCA/IDAgOiBzdHJsZW4gKG9sZCk7Ci0gIHNpemVfdCBuZXdzaXplID0gbmV3 ID09IE5VTEwgPyAwIDogc3RybGVuIChuZXcpOworICBzaXplX3Qgb2xkc2l6ZTsKKyAgc2l6 ZV90IG5ld3NpemUgPSBzdHJsZW4gKG5ldyk7CiAgIGlmIChuZXdzaXplID09IDApCiAgICAg cmV0dXJuIG9sZDsKKyAgb2xkc2l6ZSA9IHN0cmxlbiAob2xkKTsKICAgcmVzdWx0ID0geHJl YWxsb2MgKG9sZCwgb2xkc2l6ZSArIG5ld3NpemUgKyAxKTsKICAgbWVtY3B5IChyZXN1bHQg KyBvbGRzaXplLCBuZXcsIG5ld3NpemUgKyAxKTsKICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot c3RhdGljIGNoYXIgKgotaWNweWFsbG9jIChjaGFyIGNvbnN0ICpzdHJpbmcpCi17Ci0gIHJl dHVybiBpY2F0YWxsb2MgKE5VTEwsIHN0cmluZyk7Ci19Ci0KIHN0YXRpYyBjaGFyICpfR0xf QVRUUklCVVRFX1BVUkUKIGlzdHJzdHIgKGNoYXIgY29uc3QgKmxvb2tpbiwgY2hhciBjb25z dCAqbG9va2ZvcikKIHsKQEAgLTM4MjMsOCArMzgxOCw2IEBAIGZyZWVsaXN0IChjaGFyICoq Y3BwKQogewogICBzaXplX3QgaTsKIAotICBpZiAoY3BwID09IE5VTEwpCi0gICAgcmV0dXJu OwogICBmb3IgKGkgPSAwOyBjcHBbaV0gIT0gTlVMTDsgKytpKQogICAgIHsKICAgICAgIGZy ZWUgKGNwcFtpXSk7CkBAIC0zODM2LDE0ICszODI5LDcgQEAgc3RhdGljIGNoYXIgKioKIGVu bGlzdCAoY2hhciAqKmNwcCwgY2hhciAqbmV3LCBzaXplX3QgbGVuKQogewogICBzaXplX3Qg aSwgajsKLQotICBpZiAoY3BwID09IE5VTEwpCi0gICAgcmV0dXJuIE5VTEw7Ci0gIGlmICgo bmV3ID0gaWNweWFsbG9jIChuZXcpKSA9PSBOVUxMKQotICAgIHsKLSAgICAgIGZyZWVsaXN0 IChjcHApOwotICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorICBuZXcgPSBtZW1jcHkgKHht YWxsb2MgKGxlbiArIDEpLCBuZXcsIGxlbik7CiAgIG5ld1tsZW5dID0gJ1wwJzsKICAgLyog SXMgdGhlcmUgYWxyZWFkeSBzb21ldGhpbmcgaW4gdGhlIGxpc3QgdGhhdCdzIG5ldyAob3Ig bG9uZ2VyKT8gICovCiAgIGZvciAoaSA9IDA7IGNwcFtpXSAhPSBOVUxMOyArK2kpCkBAIC0z ODczLDQ2ICszODU5LDI4IEBAIGVubGlzdCAoY2hhciAqKmNwcCwgY2hhciAqbmV3LCBzaXpl X3QgbGVuKQogfQogCiAvKiBHaXZlbiBwb2ludGVycyB0byB0d28gc3RyaW5ncywgcmV0dXJu IGEgcG9pbnRlciB0byBhbiBhbGxvY2F0ZWQKLSAgIGxpc3Qgb2YgdGhlaXIgZGlzdGluY3Qg Y29tbW9uIHN1YnN0cmluZ3MuICBSZXR1cm4gTlVMTCBpZiBzb21ldGhpbmcKLSAgIHNlZW1z IHdpbGQuICAqLworICAgbGlzdCBvZiB0aGVpciBkaXN0aW5jdCBjb21tb24gc3Vic3RyaW5n cy4gICovCiBzdGF0aWMgY2hhciAqKgogY29tc3VicyAoY2hhciAqbGVmdCwgY2hhciBjb25z dCAqcmlnaHQpCiB7Ci0gIGNoYXIgKipjcHA7CisgIGNoYXIgKipjcHAgPSB4emFsbG9jIChz aXplb2YgKmNwcCk7CiAgIGNoYXIgKmxjcDsKLSAgY2hhciAqcmNwOwotICBzaXplX3QgaSwg bGVuOwotCi0gIGlmIChsZWZ0ID09IE5VTEwgfHwgcmlnaHQgPT0gTlVMTCkKLSAgICByZXR1 cm4gTlVMTDsKLSAgY3BwID0gbWFsbG9jIChzaXplb2YgKmNwcCk7Ci0gIGlmIChjcHAgPT0g TlVMTCkKLSAgICByZXR1cm4gTlVMTDsKLSAgY3BwWzBdID0gTlVMTDsKKwogICBmb3IgKGxj cCA9IGxlZnQ7ICpsY3AgIT0gJ1wwJzsgKytsY3ApCiAgICAgewotICAgICAgbGVuID0gMDsK LSAgICAgIHJjcCA9IHN0cmNociAocmlnaHQsICpsY3ApOworICAgICAgc2l6ZV90IGxlbiA9 IDA7CisgICAgICBjaGFyICpyY3AgPSBzdHJjaHIgKHJpZ2h0LCAqbGNwKTsKICAgICAgIHdo aWxlIChyY3AgIT0gTlVMTCkKICAgICAgICAgeworICAgICAgICAgIHNpemVfdCBpOwogICAg ICAgICAgIGZvciAoaSA9IDE7IGxjcFtpXSAhPSAnXDAnICYmIGxjcFtpXSA9PSByY3BbaV07 ICsraSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgIGlmIChpID4gbGVuKQog ICAgICAgICAgICAgbGVuID0gaTsKICAgICAgICAgICByY3AgPSBzdHJjaHIgKHJjcCArIDEs ICpsY3ApOwogICAgICAgICB9Ci0gICAgICBpZiAobGVuID09IDApCi0gICAgICAgIGNvbnRp bnVlOwotICAgICAgewotICAgICAgICBjaGFyICoqcCA9IGVubGlzdCAoY3BwLCBsY3AsIGxl bik7Ci0gICAgICAgIGlmIChwID09IE5VTEwpCi0gICAgICAgICAgewotICAgICAgICAgICAg ZnJlZWxpc3QgKGNwcCk7Ci0gICAgICAgICAgICBjcHAgPSBOVUxMOwotICAgICAgICAgICAg YnJlYWs7Ci0gICAgICAgICAgfQotICAgICAgICBjcHAgPSBwOwotICAgICAgfQorICAgICAg aWYgKGxlbiAhPSAwKQorICAgICAgICBjcHAgPSBlbmxpc3QgKGNwcCwgbGNwLCBsZW4pOwog ICAgIH0KICAgcmV0dXJuIGNwcDsKIH0KQEAgLTM5MjAsMTYgKzM4ODgsOCBAQCBjb21zdWJz IChjaGFyICpsZWZ0LCBjaGFyIGNvbnN0ICpyaWdodCkKIHN0YXRpYyBjaGFyICoqCiBhZGRs aXN0cyAoY2hhciAqKm9sZCwgY2hhciAqKm5ldykKIHsKLSAgc2l6ZV90IGk7Ci0KLSAgaWYg KG9sZCA9PSBOVUxMIHx8IG5ldyA9PSBOVUxMKQotICAgIHJldHVybiBOVUxMOwotICBmb3Ig KGkgPSAwOyBuZXdbaV0gIT0gTlVMTDsgKytpKQotICAgIHsKLSAgICAgIG9sZCA9IGVubGlz dCAob2xkLCBuZXdbaV0sIHN0cmxlbiAobmV3W2ldKSk7Ci0gICAgICBpZiAob2xkID09IE5V TEwpCi0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgZm9yICg7ICpuZXc7IG5ldysrKQorICAg IG9sZCA9IGVubGlzdCAob2xkLCAqbmV3LCBzdHJsZW4gKCpuZXcpKTsKICAgcmV0dXJuIG9s ZDsKIH0KIApAQCAtMzkzOCwzMSArMzg5OCwxNyBAQCBhZGRsaXN0cyAoY2hhciAqKm9sZCwg Y2hhciAqKm5ldykKIHN0YXRpYyBjaGFyICoqCiBpbmJvdGggKGNoYXIgKipsZWZ0LCBjaGFy ICoqcmlnaHQpCiB7Ci0gIGNoYXIgKipib3RoOwotICBjaGFyICoqdGVtcDsKKyAgY2hhciAq KmJvdGggPSB4emFsbG9jIChzaXplb2YgKmJvdGgpOwogICBzaXplX3QgbG51bSwgcm51bTsK IAotICBpZiAobGVmdCA9PSBOVUxMIHx8IHJpZ2h0ID09IE5VTEwpCi0gICAgcmV0dXJuIE5V TEw7Ci0gIGJvdGggPSBtYWxsb2MgKHNpemVvZiAqYm90aCk7Ci0gIGlmIChib3RoID09IE5V TEwpCi0gICAgcmV0dXJuIE5VTEw7Ci0gIGJvdGhbMF0gPSBOVUxMOwogICBmb3IgKGxudW0g PSAwOyBsZWZ0W2xudW1dICE9IE5VTEw7ICsrbG51bSkKICAgICB7CiAgICAgICBmb3IgKHJu dW0gPSAwOyByaWdodFtybnVtXSAhPSBOVUxMOyArK3JudW0pCiAgICAgICAgIHsKLSAgICAg ICAgICB0ZW1wID0gY29tc3VicyAobGVmdFtsbnVtXSwgcmlnaHRbcm51bV0pOwotICAgICAg ICAgIGlmICh0ZW1wID09IE5VTEwpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIGZy ZWVsaXN0IChib3RoKTsKLSAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAg ICB9CisgICAgICAgICAgY2hhciAqKnRlbXAgPSBjb21zdWJzIChsZWZ0W2xudW1dLCByaWdo dFtybnVtXSk7CiAgICAgICAgICAgYm90aCA9IGFkZGxpc3RzIChib3RoLCB0ZW1wKTsKICAg ICAgICAgICBmcmVlbGlzdCAodGVtcCk7CiAgICAgICAgICAgZnJlZSAodGVtcCk7Ci0gICAg ICAgICAgaWYgKGJvdGggPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAg ICAgICB9CiAgICAgfQogICByZXR1cm4gYm90aDsKQEAgLTQwNzgsOCArNDAyNCw2IEBAIGRm YW11c3QgKHN0cnVjdCBkZmEgKmQpCiAgICAgICAgICAgICAgIGxtcC0+cmlnaHRbal0gPSBs bXAtPnJpZ2h0WyhsbiAtIGkpICsgal07CiAgICAgICAgICAgICBsbXAtPnJpZ2h0W2pdID0g J1wwJzsKICAgICAgICAgICAgIG5ldyA9IGluYm90aCAobG1wLT5pbiwgcm1wLT5pbik7Ci0g ICAgICAgICAgICBpZiAobmV3ID09IE5VTEwpCi0gICAgICAgICAgICAgIGdvdG8gZG9uZTsK ICAgICAgICAgICAgIGZyZWVsaXN0IChsbXAtPmluKTsKICAgICAgICAgICAgIGZyZWUgKGxt cC0+aW4pOwogICAgICAgICAgICAgbG1wLT5pbiA9IG5ldzsKQEAgLTQxMTMsMzkgKzQwNTcs MjYgQEAgZGZhbXVzdCAoc3RydWN0IGRmYSAqZCkKICAgICAgICAgICAgICAgIHJpZ2h0LCBw bHVzIGNvbmNhdGVuYXRpb24gb2YKICAgICAgICAgICAgICAgIGxlZnQncyByaWdodCBhbmQg cmlnaHQncyBsZWZ0LiAgKi8KICAgICAgICAgICAgIGxtcC0+aW4gPSBhZGRsaXN0cyAobG1w LT5pbiwgcm1wLT5pbik7Ci0gICAgICAgICAgICBpZiAobG1wLT5pbiA9PSBOVUxMKQotICAg ICAgICAgICAgICBnb3RvIGRvbmU7CiAgICAgICAgICAgICBpZiAobG1wLT5yaWdodFswXSAh PSAnXDAnICYmIHJtcC0+bGVmdFswXSAhPSAnXDAnKQogICAgICAgICAgICAgICB7Ci0gICAg ICAgICAgICAgICAgY2hhciAqdHA7Ci0KLSAgICAgICAgICAgICAgICB0cCA9IGljcHlhbGxv YyAobG1wLT5yaWdodCk7Ci0gICAgICAgICAgICAgICAgdHAgPSBpY2F0YWxsb2MgKHRwLCBy bXAtPmxlZnQpOwotICAgICAgICAgICAgICAgIGxtcC0+aW4gPSBlbmxpc3QgKGxtcC0+aW4s IHRwLCBzdHJsZW4gKHRwKSk7CisgICAgICAgICAgICAgICAgc2l6ZV90IGxybGVuID0gc3Ry bGVuIChsbXAtPnJpZ2h0KTsKKyAgICAgICAgICAgICAgICBzaXplX3QgcmxsZW4gPSBzdHJs ZW4gKHJtcC0+bGVmdCk7CisgICAgICAgICAgICAgICAgY2hhciAqdHAgPSB4bWFsbG9jIChs cmxlbiArIHJsbGVuICsgMSk7CisgICAgICAgICAgICAgICAgbWVtY3B5ICh0cCwgbG1wLT5y aWdodCwgbHJsZW4pOworICAgICAgICAgICAgICAgIG1lbWNweSAodHAgKyBscmxlbiwgcm1w LT5sZWZ0LCBybGxlbiArIDEpOworICAgICAgICAgICAgICAgIGxtcC0+aW4gPSBlbmxpc3Qg KGxtcC0+aW4sIHRwLCBscmxlbiArIHJsbGVuKTsKICAgICAgICAgICAgICAgICBmcmVlICh0 cCk7Ci0gICAgICAgICAgICAgICAgaWYgKGxtcC0+aW4gPT0gTlVMTCkKLSAgICAgICAgICAg ICAgICAgIGdvdG8gZG9uZTsKICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgLyogTGVm dC1oYW5kICovCiAgICAgICAgICAgICBpZiAobG1wLT5pc1swXSAhPSAnXDAnKQotICAgICAg ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgbG1wLT5sZWZ0ID0gaWNhdGFsbG9jIChsbXAt PmxlZnQsIHJtcC0+bGVmdCk7Ci0gICAgICAgICAgICAgICAgaWYgKGxtcC0+bGVmdCA9PSBO VUxMKQotICAgICAgICAgICAgICAgICAgZ290byBkb25lOwotICAgICAgICAgICAgICB9Cisg ICAgICAgICAgICAgIGxtcC0+bGVmdCA9IGljYXRhbGxvYyAobG1wLT5sZWZ0LCBybXAtPmxl ZnQpOwogICAgICAgICAgICAgLyogUmlnaHQtaGFuZCAqLwogICAgICAgICAgICAgaWYgKHJt cC0+aXNbMF0gPT0gJ1wwJykKICAgICAgICAgICAgICAgbG1wLT5yaWdodFswXSA9ICdcMCc7 CiAgICAgICAgICAgICBsbXAtPnJpZ2h0ID0gaWNhdGFsbG9jIChsbXAtPnJpZ2h0LCBybXAt PnJpZ2h0KTsKLSAgICAgICAgICAgIGlmIChsbXAtPnJpZ2h0ID09IE5VTEwpCi0gICAgICAg ICAgICAgIGdvdG8gZG9uZTsKICAgICAgICAgICAgIC8qIEd1YXJhbnRlZWQgdG8gYmUgKi8K ICAgICAgICAgICAgIGlmIChsbXAtPmlzWzBdICE9ICdcMCcgJiYgcm1wLT5pc1swXSAhPSAn XDAnKQotICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgbG1wLT5pcyA9IGljYXRh bGxvYyAobG1wLT5pcywgcm1wLT5pcyk7Ci0gICAgICAgICAgICAgICAgaWYgKGxtcC0+aXMg PT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKLSAgICAgICAgICAgICAg fQorICAgICAgICAgICAgICBsbXAtPmlzID0gaWNhdGFsbG9jIChsbXAtPmlzLCBybXAtPmlz KTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgbG1wLT5pc1swXSA9ICdcMCc7 CiAgICAgICAgICAgfQpAQCAtNDE4Myw4ICs0MTE0LDYgQEAgZGZhbXVzdCAoc3RydWN0IGRm YSAqZCkKICAgICAgICAgICAgID0gY2FzZV9mb2xkICYmIE1CX0NVUl9NQVggPT0gMSA/IHRv dXBwZXIgKHQpIDogdDsKICAgICAgICAgICBtcC0+aXNbMV0gPSBtcC0+bGVmdFsxXSA9IG1w LT5yaWdodFsxXSA9ICdcMCc7CiAgICAgICAgICAgbXAtPmluID0gZW5saXN0IChtcC0+aW4s IG1wLT5pcywgMSk7Ci0gICAgICAgICAgaWYgKG1wLT5pbiA9PSBOVUxMKQotICAgICAgICAg ICAgZ290byBkb25lOwogICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAjaWZkZWYgREVC VUcKLS0gCjEuOS4wCgo= --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0009-dfa-avoid-duplicate-strlen-when-allocating-memory.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0009-dfa-avoid-duplicate-strlen-when-allocating-memory.patch" RnJvbSBhMTNjZWU1NjRmYTczNGJmZGY1ZjU5NjU2ZDRlODRhNjA3NWQzYjNmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDE3IEFwciAyMDE0IDIxOjA0OjI0IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwOS8xMl0gZGZhOiBhdm9pZCBkdXBsaWNhdGUgc3RybGVuIHdoZW4gYWxsb2NhdGluZyBt ZW1vcnkKCiogc3JjL2RmYS5jIChkZmFtdXN0KTogVXNlIHhzdHJkdXAsIG5vdCBzdHJsZW4g KHR3aWNlKSArIHhtZW1kdXAuCi0tLQogc3JjL2RmYS5jIHwgOCArKysrLS0tLQogMSBmaWxl IGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvZGZhLmMgYi9zcmMvZGZhLmMKaW5kZXggNDQ0YWY1Ni4uZjhkYmM3ZiAxMDA2NDQK LS0tIGEvc3JjL2RmYS5jCisrKyBiL3NyYy9kZmEuYwpAQCAtNDA2MSw5ICs0MDYxLDkgQEAg ZGZhbXVzdCAoc3RydWN0IGRmYSAqZCkKICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgIHNpemVfdCBscmxlbiA9IHN0cmxlbiAobG1wLT5yaWdodCk7CiAgICAgICAgICAgICAg ICAgc2l6ZV90IHJsbGVuID0gc3RybGVuIChybXAtPmxlZnQpOwotICAgICAgICAgICAgICAg IGNoYXIgKnRwID0geG1hbGxvYyAobHJsZW4gKyBybGxlbiArIDEpOworICAgICAgICAgICAg ICAgIGNoYXIgKnRwID0geG1hbGxvYyAobHJsZW4gKyBybGxlbik7CiAgICAgICAgICAgICAg ICAgbWVtY3B5ICh0cCwgbG1wLT5yaWdodCwgbHJsZW4pOwotICAgICAgICAgICAgICAgIG1l bWNweSAodHAgKyBscmxlbiwgcm1wLT5sZWZ0LCBybGxlbiArIDEpOworICAgICAgICAgICAg ICAgIG1lbWNweSAodHAgKyBscmxlbiwgcm1wLT5sZWZ0LCBybGxlbik7CiAgICAgICAgICAg ICAgICAgbG1wLT5pbiA9IGVubGlzdCAobG1wLT5pbiwgdHAsIGxybGVuICsgcmxsZW4pOwog ICAgICAgICAgICAgICAgIGZyZWUgKHRwKTsKICAgICAgICAgICAgICAgfQpAQCAtNDEyOSwx MSArNDEyOSwxMSBAQCBkZmFtdXN0IChzdHJ1Y3QgZGZhICpkKQogICAgICAgKyttcDsKICAg ICB9CiBkb25lOgotICBpZiAoc3RybGVuIChyZXN1bHQpKQorICBpZiAoKnJlc3VsdCkKICAg ICB7CiAgICAgICBkbSA9IHhtYWxsb2MgKHNpemVvZiAqZG0pOwogICAgICAgZG0tPmV4YWN0 ID0gZXhhY3Q7Ci0gICAgICBkbS0+bXVzdCA9IHhtZW1kdXAgKHJlc3VsdCwgc3RybGVuIChy ZXN1bHQpICsgMSk7CisgICAgICBkbS0+bXVzdCA9IHhzdHJkdXAgKHJlc3VsdCk7CiAgICAg ICBkbS0+bmV4dCA9IGQtPm11c3RzOwogICAgICAgZC0+bXVzdHMgPSBkbTsKICAgICB9Ci0t IAoxLjkuMAoK --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0010-dfa-simplify-freelist.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0010-dfa-simplify-freelist.patch" RnJvbSBmNmYxOWZmMzE4MTg4ZWIzZmM0ZTliYjVlOWFlNTZiOTlmYWU5ZDMxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDE3IEFwciAyMDE0IDIxOjUyOjAwIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxMC8xMl0gZGZhOiBzaW1wbGlmeSBmcmVlbGlzdAoKKiBzcmMvZGZhLmMgKGZyZWVsaXN0 KTogRG9uJ3QgbnVsbCBvdXQgYXJyYXkgd2hpbGUgZnJlZWluZyBpdHMKcG9pbnRlcnM7IHRo ZSBjYWxsZXIgY2FuIGRvIHRoYXQgaWYgbmVlZGVkLgoocmVzZXRtdXN0KTogTnVsbCBvdXQg emVyb3RoIGVudHJ5IG9mIGFycmF5LgotLS0KIHNyYy9kZmEuYyB8IDEyICsrKystLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmMvZGZhLmMgYi9zcmMvZGZhLmMKaW5kZXggZjhkYmM3Zi4uZmM4MmFk OSAxMDA2NDQKLS0tIGEvc3JjL2RmYS5jCisrKyBiL3NyYy9kZmEuYwpAQCAtMzgxNiwxMyAr MzgxNiw4IEBAIGlzdHJzdHIgKGNoYXIgY29uc3QgKmxvb2tpbiwgY2hhciBjb25zdCAqbG9v a2ZvcikKIHN0YXRpYyB2b2lkCiBmcmVlbGlzdCAoY2hhciAqKmNwcCkKIHsKLSAgc2l6ZV90 IGk7Ci0KLSAgZm9yIChpID0gMDsgY3BwW2ldICE9IE5VTEw7ICsraSkKLSAgICB7Ci0gICAg ICBmcmVlIChjcHBbaV0pOwotICAgICAgY3BwW2ldID0gTlVMTDsKLSAgICB9CisgIHdoaWxl ICgqY3BwKQorICAgIGZyZWUgKCpjcHArKyk7CiB9CiAKIHN0YXRpYyBjaGFyICoqCkBAIC0z OTI1LDggKzM5MjAsOSBAQCB0eXBlZGVmIHN0cnVjdAogc3RhdGljIHZvaWQKIHJlc2V0bXVz dCAobXVzdCAqIG1wKQogewotICBtcC0+bGVmdFswXSA9IG1wLT5yaWdodFswXSA9IG1wLT5p c1swXSA9ICdcMCc7CiAgIGZyZWVsaXN0IChtcC0+aW4pOworICBtcC0+aW5bMF0gPSBOVUxM OworICBtcC0+bGVmdFswXSA9IG1wLT5yaWdodFswXSA9IG1wLT5pc1swXSA9ICdcMCc7CiB9 CiAKIHN0YXRpYyB2b2lkCi0tIAoxLjkuMAoK --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0011-dfa-simplify-dfmust-initialization.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0011-dfa-simplify-dfmust-initialization.patch" RnJvbSAwZjA4MDA5NTk0MmI4MTgxOWI1MjFjNjExODUxZWYyZGJjYWNkYTk5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDE3IEFwciAyMDE0IDIyOjEzOjMxIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxMS8xMl0gZGZhOiBzaW1wbGlmeSBkZm11c3QgaW5pdGlhbGl6YXRpb24KCiogc3JjL2Rm YS5jIChkZmFtdXN0KTogRG9uJ3QgaW5pdGlhbGl6ZSBtdXN0cyB0d2ljZS4KVXNlIHpjYWxs b2MsIG5vdCB4bWFsbG9jIGZvbGxvd2VkIGJ5IHplcm9pbmcuCk1ha2UgcmVzdWx0IGEgY29u c3QgcG9pbnRlci4KLS0tCiBzcmMvZGZhLmMgfCAyNiArKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjL2RmYS5jIGIvc3JjL2RmYS5jCmluZGV4IGZjODJhZDkuLjYx OGE4YmMgMTAwNjQ0Ci0tLSBhL3NyYy9kZmEuYworKysgYi9zcmMvZGZhLmMKQEAgLTM5Mjgs MzAgKzM5MjgsMjAgQEAgcmVzZXRtdXN0IChtdXN0ICogbXApCiBzdGF0aWMgdm9pZAogZGZh bXVzdCAoc3RydWN0IGRmYSAqZCkKIHsKLSAgbXVzdCAqbXVzdHM7Ci0gIG11c3QgKm1wOwot ICBjaGFyICpyZXN1bHQ7CisgIG11c3QgKm11c3RzID0geG5tYWxsb2MgKGQtPnRpbmRleCAr IDEsIHNpemVvZiAqbXVzdHMpOworICBtdXN0ICptcCA9IG11c3RzOworICBjaGFyIGNvbnN0 ICpyZXN1bHQgPSAiIjsKICAgc2l6ZV90IHJpOwogICBzaXplX3QgaTsKLSAgYm9vbCBleGFj dDsKLSAgc3RhdGljIG11c3QgbXVzdDA7CisgIGJvb2wgZXhhY3QgPSBmYWxzZTsKICAgc3Ry dWN0IGRmYW11c3QgKmRtOwotICBzdGF0aWMgY2hhciBlbXB0eV9zdHJpbmdbXSA9ICIiOwog Ci0gIHJlc3VsdCA9IGVtcHR5X3N0cmluZzsKLSAgZXhhY3QgPSBmYWxzZTsKLSAgbXVzdHMg PSB4bm1hbGxvYyAoZC0+dGluZGV4ICsgMSwgc2l6ZW9mICptdXN0cyk7Ci0gIG1wID0gbXVz dHM7Ci0gIGZvciAoaSA9IDA7IGkgPD0gZC0+dGluZGV4OyArK2kpCi0gICAgbXBbaV0gPSBt dXN0MDsKICAgZm9yIChpID0gMDsgaSA8PSBkLT50aW5kZXg7ICsraSkKICAgICB7Ci0gICAg ICBtcFtpXS5pbiA9IHhtYWxsb2MgKHNpemVvZiAqbXBbaV0uaW4pOwotICAgICAgbXBbaV0u bGVmdCA9IHhtYWxsb2MgKDIpOwotICAgICAgbXBbaV0ucmlnaHQgPSB4bWFsbG9jICgyKTsK LSAgICAgIG1wW2ldLmlzID0geG1hbGxvYyAoMik7Ci0gICAgICBtcFtpXS5sZWZ0WzBdID0g bXBbaV0ucmlnaHRbMF0gPSBtcFtpXS5pc1swXSA9ICdcMCc7Ci0gICAgICBtcFtpXS5pblsw XSA9IE5VTEw7CisgICAgICBtcFtpXS5pbiA9IHh6YWxsb2MgKHNpemVvZiAqbXBbaV0uaW4p OworICAgICAgbXBbaV0ubGVmdCA9IHh6YWxsb2MgKDIpOworICAgICAgbXBbaV0ucmlnaHQg PSB4emFsbG9jICgyKTsKKyAgICAgIG1wW2ldLmlzID0geHphbGxvYyAoMik7CiAgICAgfQog I2lmZGVmIERFQlVHCiAgIGZwcmludGYgKHN0ZGVyciwgImRmYW11c3Q6XG4iKTsKLS0gCjEu OS4wCgo= --------------030503010107060906000501 Content-Type: text/plain; charset=UTF-8; name="0012-dfa-trans-reallocation-microoptimization.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0012-dfa-trans-reallocation-microoptimization.patch" RnJvbSAzYmQ3MzM2ODA2MTUyYTZkMWUxMjllODNkNTE0YmU5ZmI5MzVmYWNkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDE3IEFwciAyMDE0IDIyOjMwOjEwIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxMi8xMl0gZGZhOiB0cmFucyByZWFsbG9jYXRpb24gbWljcm9vcHRpbWl6YXRpb24KCiog c3JjL2RmYS5jIChyZWFsbG9jX3RyYW5zX2lmX25lY2Vzc2FyeSk6CkhlbHAgdGhlIGNvbXBp bGVyIGF2b2lkIHVubmVjZXNzYXJ5IHJlbG9hZHMuCi0tLQogc3JjL2RmYS5jIHwgMTUgKysr KysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA3IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9kZmEuYyBiL3NyYy9kZmEuYwppbmRleCA2MThh OGJjLi4yNDM1NWQ4IDEwMDY0NAotLS0gYS9zcmMvZGZhLmMKKysrIGIvc3JjL2RmYS5jCkBA IC0yNzk5LDE5ICsyNzk5LDIwIEBAIGRmYXN0YXRlIChzdGF0ZV9udW0gcywgc3RydWN0IGRm YSAqZCwgc3RhdGVfbnVtIHRyYW5zW10pCiBzdGF0aWMgdm9pZAogcmVhbGxvY190cmFuc19p Zl9uZWNlc3NhcnkgKHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSBuZXdfc3RhdGUpCiB7Ci0g IGlmIChkLT50cmFsbG9jIDw9IG5ld19zdGF0ZSkKKyAgc3RhdGVfbnVtIG9sZGFsbG9jID0g ZC0+dHJhbGxvYzsKKyAgaWYgKG9sZGFsbG9jIDw9IG5ld19zdGF0ZSkKICAgICB7CiAgICAg ICBzdGF0ZV9udW0gKipyZWFsdHJhbnMgPSBkLT50cmFucyA/IGQtPnRyYW5zIC0gMSA6IE5V TEw7Ci0gICAgICBzdGF0ZV9udW0gb2xkYWxsb2MgPSBkLT50cmFsbG9jOworICAgICAgc2l6 ZV90IG5ld2FsbG9jOwogICAgICAgZC0+dHJhbGxvYyA9IG5ld19zdGF0ZSArIDE7CiAgICAg ICByZWFsdHJhbnMgPSB4Mm5yZWFsbG9jIChyZWFsdHJhbnMsICZkLT50cmFsbG9jLCBzaXpl b2YgKnJlYWx0cmFucyk7CiAgICAgICByZWFsdHJhbnNbMF0gPSBOVUxMOwogICAgICAgZC0+ dHJhbnMgPSByZWFsdHJhbnMgKyAxOwotICAgICAgZC0+dHJhbGxvYy0tOwotICAgICAgZC0+ ZmFpbHMgPSB4bnJlYWxsb2MgKGQtPmZhaWxzLCBkLT50cmFsbG9jLCBzaXplb2YgKmQtPmZh aWxzKTsKLSAgICAgIGQtPnN1Y2Nlc3MgPSB4bnJlYWxsb2MgKGQtPnN1Y2Nlc3MsIGQtPnRy YWxsb2MsIHNpemVvZiAqZC0+c3VjY2Vzcyk7Ci0gICAgICBkLT5uZXdsaW5lcyA9IHhucmVh bGxvYyAoZC0+bmV3bGluZXMsIGQtPnRyYWxsb2MsIHNpemVvZiAqZC0+bmV3bGluZXMpOwot ICAgICAgZm9yICg7IG9sZGFsbG9jIDwgZC0+dHJhbGxvYzsgb2xkYWxsb2MrKykKKyAgICAg IG5ld2FsbG9jID0gLS1kLT50cmFsbG9jOworICAgICAgZC0+ZmFpbHMgPSB4bnJlYWxsb2Mg KGQtPmZhaWxzLCBuZXdhbGxvYywgc2l6ZW9mICpkLT5mYWlscyk7CisgICAgICBkLT5zdWNj ZXNzID0geG5yZWFsbG9jIChkLT5zdWNjZXNzLCBuZXdhbGxvYywgc2l6ZW9mICpkLT5zdWNj ZXNzKTsKKyAgICAgIGQtPm5ld2xpbmVzID0geG5yZWFsbG9jIChkLT5uZXdsaW5lcywgbmV3 YWxsb2MsIHNpemVvZiAqZC0+bmV3bGluZXMpOworICAgICAgZm9yICg7IG9sZGFsbG9jIDwg bmV3YWxsb2M7IG9sZGFsbG9jKyspCiAgICAgICAgIHsKICAgICAgICAgICBkLT50cmFuc1tv bGRhbGxvY10gPSBOVUxMOwogICAgICAgICAgIGQtPmZhaWxzW29sZGFsbG9jXSA9IE5VTEw7 Ci0tIAoxLjkuMAoK --------------030503010107060906000501-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 18 12:46:29 2014 Received: (at 17136) by debbugs.gnu.org; 18 Apr 2014 16:46:29 +0000 Received: from localhost ([127.0.0.1]:52106 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbBvo-0005f1-O4 for submit@debbugs.gnu.org; Fri, 18 Apr 2014 12:46:29 -0400 Received: from mail-yk0-f180.google.com ([209.85.160.180]:56871) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbBvj-0005eX-L5; Fri, 18 Apr 2014 12:46:24 -0400 Received: by mail-yk0-f180.google.com with SMTP id 19so1535877ykq.39 for ; Fri, 18 Apr 2014 09:46:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=PRQc/iXatpx1GFJ2sTkY6CqCuY4JlU/TfibeCVHIBU0=; b=VMJSPKlwhpx3xsJtkHq0z9ppsDCrGX41n5L4agJmyHoqfnjkpb7dZXb60T+CtJl2sp XamJP3QvmwhBC+ZeVRp6kebgaLFLbfcFpJQRXW8vu3e3d1SsScfF1oR7kBntF2Fb4W8o 6tcKAlMRpTRT4YZR+GtTJ5MTisFqInnMXWRL8jgMCsmVbk9yFfLUFNqL/3oacyB9hzKa L/5qdu2n5h+TyJ6XJRc9+Q1hIvz4XiJfkXbo9ylK7urvfycXVVRa48IULE+2TSYm/ay7 ciZ36vlTUkuUTG1X2qqLR0/Zkj38K3/e6mfk/rb5FsetELa5unwuu5qi0QwyRgI/4uW6 2IxA== X-Received: by 10.236.139.70 with SMTP id b46mr3464091yhj.63.1397839577652; Fri, 18 Apr 2014 09:46:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.149.193 with HTTP; Fri, 18 Apr 2014 09:45:57 -0700 (PDT) In-Reply-To: <5350BF35.5040407@cs.ucla.edu> References: <533621D9.2010506@cs.ucla.edu> <5350BF35.5040407@cs.ucla.edu> From: Jim Meyering Date: Fri, 18 Apr 2014 09:45:57 -0700 X-Google-Sender-Auth: or71anVY5QFZZjbW5XDz1EKYn_g Message-ID: Subject: Re: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX To: 17136@debbugs.gnu.org, Paul Eggert Content-Type: multipart/mixed; boundary=20cf303dd4347ab20704f753e3a2 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17136 Cc: 17136-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --20cf303dd4347ab20704f753e3a2 Content-Type: text/plain; charset=ISO-8859-1 Thanks for all the improvements. However, one of them introduced a bug that caused many new "make check" failures. I have fixed it with this just-pushed patch: --20cf303dd4347ab20704f753e3a2 Content-Type: text/plain; charset=US-ASCII; name="k.txt" Content-Disposition: attachment; filename="k.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hu5pkidg12 RnJvbSAwMTRkOTMwYjMzZDVjNmRkYjc0ZTEzYTJhM2Q3MGUyMGY2Y2ZlOGU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog RnJpLCAxOCBBcHIgMjAxNCAwOTozNjoyMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGRmYTogYXZv aWQgbmV3IE5VTEwgZGVyZWZlcmVuY2UKCiogc3JjL2RmYS5jIChkZmFfY2hhcmNsYXNzX2luZGV4 KTogUmVzdG9yZSBhICIrIDEiIG1pc3Rha2VubHkgb21pdHRlZApkdXJpbmcgcmVjZW50IGltcHJv dmVtZW50cy4gIEludHJvZHVjZWQgaW4gdjIuMTgtNjYtZzZhNjBmZDUuCi0tLQogc3JjL2RmYS5j IHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvc3JjL2RmYS5jIGIvc3JjL2RmYS5jCmluZGV4IGVlY2EyNTcuLjg0NjM3NjIg MTAwNjQ0Ci0tLSBhL3NyYy9kZmEuYworKysgYi9zcmMvZGZhLmMKQEAgLTY0Myw3ICs2NDMsNyBA QCBkZmFfY2hhcmNsYXNzX2luZGV4IChzdHJ1Y3QgZGZhICpkLCBjaGFyY2xhc3MgY29uc3QgcykK ICAgZm9yIChpID0gMDsgaSA8IGQtPmNpbmRleDsgKytpKQogICAgIGlmIChlcXVhbCAocywgZC0+ Y2hhcmNsYXNzZXNbaV0pKQogICAgICAgcmV0dXJuIGk7Ci0gIGQtPmNoYXJjbGFzc2VzID0gbWF5 YmVfcmVhbGxvYyAoZC0+Y2hhcmNsYXNzZXMsIGQtPmNpbmRleCwgJmQtPmNhbGxvYywKKyAgZC0+ Y2hhcmNsYXNzZXMgPSBtYXliZV9yZWFsbG9jIChkLT5jaGFyY2xhc3NlcywgZC0+Y2luZGV4ICsg MSwgJmQtPmNhbGxvYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg KmQtPmNoYXJjbGFzc2VzKTsKICAgKytkLT5jaW5kZXg7CiAgIGNvcHlzZXQgKHMsIGQtPmNoYXJj bGFzc2VzW2ldKTsKLS0KMS45LjAucmMzLjkuZ2UyNjVmMWYKCg== --20cf303dd4347ab20704f753e3a2-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 18 13:01:13 2014 Received: (at 17136) by debbugs.gnu.org; 18 Apr 2014 17:01:13 +0000 Received: from localhost ([127.0.0.1]:52115 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbCA4-00065Q-Lo for submit@debbugs.gnu.org; Fri, 18 Apr 2014 13:01:13 -0400 Received: from mail-yk0-f181.google.com ([209.85.160.181]:53153) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbCA0-000651-Pz; Fri, 18 Apr 2014 13:01:09 -0400 Received: by mail-yk0-f181.google.com with SMTP id 131so1544692ykp.26 for ; Fri, 18 Apr 2014 10:01:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=BAM6cNnmK+teE5jhDaCvVqKL3jMImSGNMb7Jq9JDvnA=; b=Ztvq8r4PR8Oey6rHeejKfUFPYLyr/lgKRATiwVgA4NfIbY8CRHlSLLeglSvRssavVB ZfRco2Q4Gj8UoKmAUw3P7Z9KoSbwy8VJFxb3y2AwtaeNUIHvKkzeRka96XuIXLWrmAsV 99MErCbXRIVY9UztEgtu842XeACbEWz/5I6WkIiJGZBvAgJTnhBu0aYM7WcNss4pAvfE H79qf1uZIR+BaO3xvMEChuAn1gfuJoKADtiNYErCopolLPuUhrbcwbmCpZWSLnVJPV2c a91dKqXnJaIMdQ9K3/f0Aw1G1vNwI1/MIDjiRtS5dvWTosIeocj9Ew5+DeHeNbY2NxD1 rGBA== X-Received: by 10.236.82.208 with SMTP id o56mr1734647yhe.136.1397840463141; Fri, 18 Apr 2014 10:01:03 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.149.193 with HTTP; Fri, 18 Apr 2014 10:00:43 -0700 (PDT) In-Reply-To: References: <533621D9.2010506@cs.ucla.edu> <5350BF35.5040407@cs.ucla.edu> From: Jim Meyering Date: Fri, 18 Apr 2014 10:00:43 -0700 X-Google-Sender-Auth: hjob-WJpq7VD2Q61k2_kvIbSsCs Message-ID: Subject: Re: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX To: 17136 <17136@debbugs.gnu.org>, Paul Eggert Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17136 Cc: 17136-done <17136-done@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Fri, Apr 18, 2014 at 9:45 AM, Jim Meyering wrote: > Thanks for all the improvements. > However, one of them introduced a bug that caused many new > "make check" failures. I have fixed it with this just-pushed patch: I have just realized this: It was only a bug if one neglected to update to the latest gnulib. With the newer xn2realloc, there is no problem. I will revert it shortly. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 18 20:39:41 2014 Received: (at 17136) by debbugs.gnu.org; 19 Apr 2014 00:39:41 +0000 Received: from localhost ([127.0.0.1]:52302 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbJJk-0002sX-Mv for submit@debbugs.gnu.org; Fri, 18 Apr 2014 20:39:40 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:39357) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbJJh-0002sE-60 for 17136@debbugs.gnu.org; Fri, 18 Apr 2014 20:39:37 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 23F3139E801B; Fri, 18 Apr 2014 17:39:31 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g7rfzQgeb0ER; Fri, 18 Apr 2014 17:39:22 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 8921DA60026; Fri, 18 Apr 2014 17:39:22 -0700 (PDT) Message-ID: <5351C5BA.6050603@cs.ucla.edu> Date: Fri, 18 Apr 2014 17:39:22 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Jim Meyering , 17136 <17136@debbugs.gnu.org> Subject: Re: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX References: <533621D9.2010506@cs.ucla.edu> <5350BF35.5040407@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17136 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) Jim Meyering wrote: > It was only a bug if one neglected to update to the latest gnulib. Yes, sorry, in hindsight I should have mentioned that in the ChangeLog entry. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 18 21:02:12 2014 Received: (at 17136-done) by debbugs.gnu.org; 19 Apr 2014 01:02:12 +0000 Received: from localhost ([127.0.0.1]:52308 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbJfX-0003b1-O3 for submit@debbugs.gnu.org; Fri, 18 Apr 2014 21:02:12 -0400 Received: from mailgw06.kcn.ne.jp ([61.86.7.213]:56210) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbJfU-0003am-8L for 17136-done@debbugs.gnu.org; Fri, 18 Apr 2014 21:02:09 -0400 Received: from imp03 (mailgw7.kcn.ne.jp [61.86.15.238]) by mailgw06.kcn.ne.jp (Postfix) with ESMTP id BB1BC138025 for <17136-done@debbugs.gnu.org>; Sat, 19 Apr 2014 10:02:05 +0900 (JST) Received: from mail02.kcn.ne.jp ([61.86.6.181]) by imp03 with bizsmtp id rd241n00u3uLcVp01d24Ny; Sat, 19 Apr 2014 10:02:04 +0900 X-OrgRCPT: 17136-done@debbugs.gnu.org Received: from [10.120.1.62] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) by mail02.kcn.ne.jp (Postfix) with ESMTPA id 22CC5BE8001 for <17136-done@debbugs.gnu.org>; Sat, 19 Apr 2014 10:02:04 +0900 (JST) Date: Sat, 19 Apr 2014 10:02:05 +0900 From: Norihiro Tanaka To: 17136-done@debbugs.gnu.org Subject: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX In-Reply-To: <5351C5BA.6050603@cs.ucla.edu> References: <5351C5BA.6050603@cs.ucla.edu> Message-Id: <20140419100204.5CF3.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17136-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Jim Meyering wrote: > It was only a bug if one neglected to update to the latest gnulib. Sorry, I also neglected to update gnulib. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 18 21:56:50 2014 Received: (at 17136) by debbugs.gnu.org; 19 Apr 2014 01:56:50 +0000 Received: from localhost ([127.0.0.1]:52334 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbKWP-0005LH-SZ for submit@debbugs.gnu.org; Fri, 18 Apr 2014 21:56:50 -0400 Received: from mailgw01.kcn.ne.jp ([61.86.7.208]:54716) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbKWN-0005L3-4F for 17136@debbugs.gnu.org; Fri, 18 Apr 2014 21:56:48 -0400 Received: from imp01 (mailgw5.kcn.ne.jp [61.86.15.231]) by mailgw01.kcn.ne.jp (Postfix) with ESMTP id 9E2628027D for <17136@debbugs.gnu.org>; Sat, 19 Apr 2014 10:56:43 +0900 (JST) Received: from mail02.kcn.ne.jp ([61.86.6.181]) by imp01 with bizsmtp id rdwj1n00D3uLcVp01dwjwi; Sat, 19 Apr 2014 10:56:43 +0900 X-OrgRCPT: 17136@debbugs.gnu.org Received: from [10.120.1.62] (i118-21-128-66.s30.a048.ap.plala.or.jp [118.21.128.66]) by mail02.kcn.ne.jp (Postfix) with ESMTPA id 534EFBE8002; Sat, 19 Apr 2014 10:56:43 +0900 (JST) Date: Sat, 19 Apr 2014 10:56:44 +0900 From: Norihiro Tanaka To: 17136@debbugs.gnu.org, eggert@cs.ucla.edu, eggert@cs.ucla.edu Subject: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX In-Reply-To: <5350BF35.5040407@cs.ucla.edu> References: <533621D9.2010506@cs.ucla.edu> <5350BF35.5040407@cs.ucla.edu> Message-Id: <20140419105621.5CFF.27F6AC2D@kcn.ne.jp> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_5351D68D000000005CFB_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.65.07 [ja] X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 17136 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) --------_5351D68D000000005CFB_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Shown two warnings around memory allocation in dfa.c even if update gnulib. I submit the log at make and the patch to fix it. Perhaps, I may run accross it in order to use old GCC (4.1.2 on CentOS 5.10). :-) --------_5351D68D000000005CFB_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII"; name="warnings.txt" Content-Disposition: attachment; filename="warnings.txt" Content-Transfer-Encoding: base64 dGVzdCAteiAiZ3JlcCIgfHwgcm0gLWYgZ3JlcA0KdGVzdCAteiAiZWdyZXAgZmdyZXAgKi10IiB8 fCBybSAtZiBlZ3JlcCBmZ3JlcCAqLXQNCnJtIC1mICoubw0KJCBlbnYgTEFORz1DIG1ha2UgVj0x DQpkZXBiYXNlPWBlY2hvIGdyZXAubyB8IHNlZCAnc3xbXi9dKiR8LmRlcHMvJnw7c3xcLm8kfHwn YDtcDQpnY2MgLXN0ZD1nbnU5OSAtREhBVkVfQ09ORklHX0ggLUkuIC1JLi4gIC1JLi4vbGliIC1J Li4vbGliICAtV2FsbCAgLWcgLU1UIGdyZXAubyAtTUQgLU1QIC1NRiAkZGVwYmFzZS5UcG8gLWMg LW8gZ3JlcC5vIGdyZXAuYyAmJlwNCm12IC1mICRkZXBiYXNlLlRwbyAkZGVwYmFzZS5Qbw0KZGVw YmFzZT1gZWNobyBzZWFyY2h1dGlscy5vIHwgc2VkICdzfFteL10qJHwuZGVwcy8mfDtzfFwubyR8 fCdgO1wNCmdjYyAtc3RkPWdudTk5IC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuLiAgLUkuLi9saWIg LUkuLi9saWIgIC1XYWxsICAtZyAtTVQgc2VhcmNodXRpbHMubyAtTUQgLU1QIC1NRiAkZGVwYmFz ZS5UcG8gLWMgLW8gc2VhcmNodXRpbHMubyBzZWFyY2h1dGlscy5jICYmXA0KbXYgLWYgJGRlcGJh c2UuVHBvICRkZXBiYXNlLlBvDQpkZXBiYXNlPWBlY2hvIGRmYS5vIHwgc2VkICdzfFteL10qJHwu ZGVwcy8mfDtzfFwubyR8fCdgO1wNCmdjYyAtc3RkPWdudTk5IC1ESEFWRV9DT05GSUdfSCAtSS4g LUkuLiAgLUkuLi9saWIgLUkuLi9saWIgIC1XYWxsICAtZyAtTVQgZGZhLm8gLU1EIC1NUCAtTUYg JGRlcGJhc2UuVHBvIC1jIC1vIGRmYS5vIGRmYS5jICYmXA0KbXYgLWYgJGRlcGJhc2UuVHBvICRk ZXBiYXNlLlBvDQpkZmEuYzogSW4gZnVuY3Rpb24gJ3N0YXRlX2luZGV4JzoNCmRmYS5jOjIwODg6 IHdhcm5pbmc6IHBvaW50ZXIgdGFyZ2V0cyBpbiBwYXNzaW5nIGFyZ3VtZW50IDMgb2YgJ21heWJl X3JlYWxsb2MnIGRpZmZlciBpbiBzaWduZWRuZXNzDQpkZmEuYzogSW4gZnVuY3Rpb24gJ3JlYWxs b2NfdHJhbnNfaWZfbmVjZXNzYXJ5JzoNCmRmYS5jOjI3ODU6IHdhcm5pbmc6IHBvaW50ZXIgdGFy Z2V0cyBpbiBwYXNzaW5nIGFyZ3VtZW50IDIgb2YgJ3gybnJlYWxsb2MnIGRpZmZlciBpbiBzaWdu ZWRuZXNzDQpkZXBiYXNlPWBlY2hvIGRmYXNlYXJjaC5vIHwgc2VkICdzfFteL10qJHwuZGVwcy8m fDtzfFwubyR8fCdgO1wNCmdjYyAtc3RkPWdudTk5IC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuLiAg LUkuLi9saWIgLUkuLi9saWIgIC1XYWxsICAtZyAtTVQgZGZhc2VhcmNoLm8gLU1EIC1NUCAtTUYg JGRlcGJhc2UuVHBvIC1jIC1vIGRmYXNlYXJjaC5vIGRmYXNlYXJjaC5jICYmXA0KbXYgLWYgJGRl cGJhc2UuVHBvICRkZXBiYXNlLlBvDQpkZXBiYXNlPWBlY2hvIGt3c2V0Lm8gfCBzZWQgJ3N8W14v XSokfC5kZXBzLyZ8O3N8XC5vJHx8J2A7XA0KZ2NjIC1zdGQ9Z251OTkgLURIQVZFX0NPTkZJR19I IC1JLiAtSS4uICAtSS4uL2xpYiAtSS4uL2xpYiAgLVdhbGwgIC1nIC1NVCBrd3NldC5vIC1NRCAt TVAgLU1GICRkZXBiYXNlLlRwbyAtYyAtbyBrd3NldC5vIGt3c2V0LmMgJiZcDQptdiAtZiAkZGVw YmFzZS5UcG8gJGRlcGJhc2UuUG8NCmRlcGJhc2U9YGVjaG8ga3dzZWFyY2gubyB8IHNlZCAnc3xb Xi9dKiR8LmRlcHMvJnw7c3xcLm8kfHwnYDtcDQpnY2MgLXN0ZD1nbnU5OSAtREhBVkVfQ09ORklH X0ggLUkuIC1JLi4gIC1JLi4vbGliIC1JLi4vbGliICAtV2FsbCAgLWcgLU1UIGt3c2VhcmNoLm8g LU1EIC1NUCAtTUYgJGRlcGJhc2UuVHBvIC1jIC1vIGt3c2VhcmNoLm8ga3dzZWFyY2guYyAmJlwN Cm12IC1mICRkZXBiYXNlLlRwbyAkZGVwYmFzZS5Qbw0KZGVwYmFzZT1gZWNobyBwY3Jlc2VhcmNo Lm8gfCBzZWQgJ3N8W14vXSokfC5kZXBzLyZ8O3N8XC5vJHx8J2A7XA0KZ2NjIC1zdGQ9Z251OTkg LURIQVZFX0NPTkZJR19IIC1JLiAtSS4uICAtSS4uL2xpYiAtSS4uL2xpYiAgLVdhbGwgIC1nIC1N VCBwY3Jlc2VhcmNoLm8gLU1EIC1NUCAtTUYgJGRlcGJhc2UuVHBvIC1jIC1vIHBjcmVzZWFyY2gu byBwY3Jlc2VhcmNoLmMgJiZcDQptdiAtZiAkZGVwYmFzZS5UcG8gJGRlcGJhc2UuUG8NCmdjYyAt c3RkPWdudTk5IC1XYWxsICAtZyAgIC1vIGdyZXAgZ3JlcC5vIHNlYXJjaHV0aWxzLm8gZGZhLm8g ZGZhc2VhcmNoLm8ga3dzZXQubyBrd3NlYXJjaC5vIHBjcmVzZWFyY2gubyAuLi9saWIvbGliZ3Jl cHV0aWxzLmEgIC4uL2xpYi9saWJncmVwdXRpbHMuYSAgIC1scGNyZSAtUi91c3IvbG9jYWwvbGli DQpncmVwPWBlY2hvIGdyZXAgfCBzZWQgLWUgJ3MseCx4LCdgICAgICAgJiYgXA0KY2FzZSBlZ3Jl cCBpbiBlZ3JlcCkgb3B0aW9uPS1FOzsgZmdyZXApIG9wdGlvbj0tRjs7IGVzYWMgICAgICAgICYm IFwNCnNlZCAtZSAnc3xbQF1TSEVMTEB8L2Jpbi9iYXNofGcnIFwNCiAgICAtZSAic3xbQF1ncmVw QHwkZ3JlcHxnIiBcDQogICAgLWUgInN8W0Bdb3B0aW9uQHwkb3B0aW9ufGciIDwuL2VncmVwLnNo ID5lZ3JlcC10DQpjaG1vZCAreCBlZ3JlcC10DQptdiBlZ3JlcC10IGVncmVwDQpncmVwPWBlY2hv IGdyZXAgfCBzZWQgLWUgJ3MseCx4LCdgICAgICAgJiYgXA0KY2FzZSBmZ3JlcCBpbiBlZ3JlcCkg b3B0aW9uPS1FOzsgZmdyZXApIG9wdGlvbj0tRjs7IGVzYWMgICAgICAgICYmIFwNCnNlZCAtZSAn c3xbQF1TSEVMTEB8L2Jpbi9iYXNofGcnIFwNCiAgICAtZSAic3xbQF1ncmVwQHwkZ3JlcHxnIiBc DQogICAgLWUgInN8W0Bdb3B0aW9uQHwkb3B0aW9ufGciIDwuL2VncmVwLnNoID5mZ3JlcC10DQpj aG1vZCAreCBmZ3JlcC10DQptdiBmZ3JlcC10IGZncmVwDQo= --------_5351D68D000000005CFB_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 RnJvbSA2YjgxNDIwY2UzNTYyODExZmEyMzY0ZTRkODMwOTY4YjE0NWFlYTRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb3JpaGlybyBUYW5ha2EgPG5vcml0bmtAa2NuLm5lLmpwPgpE YXRlOiBTYXQsIDE5IEFwciAyMDE0IDEwOjQ4OjQ5ICswOTAwClN1YmplY3Q6IFtQQVRDSF0gZ3Jl cDogZml4IHdhcm5pbmdzIGFyb3VuZCBtZW1vcnkgYWxsb2NhdGlvbiBpbiBkZmEuYwoKKiBzcmMv ZGZhLmMgKHN0YXRlX2luZGV4KTogRml4IGl0LgoocmVhbGxvY190cmFuc19pZl9uZWNlc3Nhcnkp OiBGaXggaXQuCi0tLQogc3JjL2RmYS5jIHwgOSArKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2RmYS5jIGIv c3JjL2RmYS5jCmluZGV4IGVlY2EyNTcuLjlhNmFhNWIgMTAwNjQ0Ci0tLSBhL3NyYy9kZmEuYwor KysgYi9zcmMvZGZhLmMKQEAgLTIwODQsNyArMjA4NCw3IEBAIHN0YXRlX2luZGV4IChzdHJ1Y3Qg ZGZhICpkLCBwb3NpdGlvbl9zZXQgY29uc3QgKnMsIGludCBjb250ZXh0KQogICAgIH0KIAogICAv KiBXZSdsbCBoYXZlIHRvIGNyZWF0ZSBhIG5ldyBzdGF0ZS4gICovCi0gIGQtPnN0YXRlcyA9IG1h eWJlX3JlYWxsb2MgKGQtPnN0YXRlcywgZC0+c2luZGV4LCAmZC0+c2FsbG9jLAorICBkLT5zdGF0 ZXMgPSBtYXliZV9yZWFsbG9jIChkLT5zdGF0ZXMsIGQtPnNpbmRleCwgKHNpemVfdCAqKSAmZC0+ c2FsbG9jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKmQtPnN0YXRlcyk7 CiAgIGQtPnN0YXRlc1tpXS5oYXNoID0gaGFzaDsKICAgYWxsb2NfcG9zaXRpb25fc2V0ICgmZC0+ c3RhdGVzW2ldLmVsZW1zLCBzLT5uZWxlbSk7CkBAIC0yNzgwLDEyICsyNzgwLDExIEBAIHJlYWxs b2NfdHJhbnNfaWZfbmVjZXNzYXJ5IChzdHJ1Y3QgZGZhICpkLCBzdGF0ZV9udW0gbmV3X3N0YXRl KQogICBpZiAob2xkYWxsb2MgPD0gbmV3X3N0YXRlKQogICAgIHsKICAgICAgIHN0YXRlX251bSAq KnJlYWx0cmFucyA9IGQtPnRyYW5zID8gZC0+dHJhbnMgLSAxIDogTlVMTDsKLSAgICAgIHNpemVf dCBuZXdhbGxvYzsKLSAgICAgIGQtPnRyYWxsb2MgPSBuZXdfc3RhdGUgKyAxOwotICAgICAgcmVh bHRyYW5zID0geDJucmVhbGxvYyAocmVhbHRyYW5zLCAmZC0+dHJhbGxvYywgc2l6ZW9mICpyZWFs dHJhbnMpOworICAgICAgc2l6ZV90IG5ld2FsbG9jID0gbmV3X3N0YXRlICsgMTsKKyAgICAgIHJl YWx0cmFucyA9IHgybnJlYWxsb2MgKHJlYWx0cmFucywgJm5ld2FsbG9jLCBzaXplb2YgKnJlYWx0 cmFucyk7CisgICAgICBkLT50cmFsbG9jID0gbmV3YWxsb2MtLTsKICAgICAgIHJlYWx0cmFuc1sw XSA9IE5VTEw7CiAgICAgICBkLT50cmFucyA9IHJlYWx0cmFucyArIDE7Ci0gICAgICBuZXdhbGxv YyA9IC0tZC0+dHJhbGxvYzsKICAgICAgIGQtPmZhaWxzID0geG5yZWFsbG9jIChkLT5mYWlscywg bmV3YWxsb2MsIHNpemVvZiAqZC0+ZmFpbHMpOwogICAgICAgZC0+c3VjY2VzcyA9IHhucmVhbGxv YyAoZC0+c3VjY2VzcywgbmV3YWxsb2MsIHNpemVvZiAqZC0+c3VjY2Vzcyk7CiAgICAgICBkLT5u ZXdsaW5lcyA9IHhucmVhbGxvYyAoZC0+bmV3bGluZXMsIG5ld2FsbG9jLCBzaXplb2YgKmQtPm5l d2xpbmVzKTsKLS0gCjEuOS4yCgo= --------_5351D68D000000005CFB_MULTIPART_MIXED_-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 19 02:22:28 2014 Received: (at 17136) by debbugs.gnu.org; 19 Apr 2014 06:22:28 +0000 Received: from localhost ([127.0.0.1]:52372 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbOfT-0005U6-HP for submit@debbugs.gnu.org; Sat, 19 Apr 2014 02:22:27 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:49027) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WbOfQ-0005Tm-PJ for 17136@debbugs.gnu.org; Sat, 19 Apr 2014 02:22:26 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 80139A60026; Fri, 18 Apr 2014 23:22:18 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id m7m5DqqsHkcA; Fri, 18 Apr 2014 23:22:14 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 7D9B8A6002B; Fri, 18 Apr 2014 23:22:14 -0700 (PDT) Message-ID: <53521616.80204@cs.ucla.edu> Date: Fri, 18 Apr 2014 23:22:14 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Norihiro Tanaka , 17136@debbugs.gnu.org Subject: Re: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX References: <533621D9.2010506@cs.ucla.edu> <5350BF35.5040407@cs.ucla.edu> <20140419105621.5CFF.27F6AC2D@kcn.ne.jp> In-Reply-To: <20140419105621.5CFF.27F6AC2D@kcn.ne.jp> Content-Type: multipart/mixed; boundary="------------060801040305010002090005" X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17136 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) This is a multi-part message in MIME format. --------------060801040305010002090005 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Norihiro Tanaka wrote: > Perhaps, I may run accross it in order to use old GCC (4.1.2 on CentOS > 5.10). Thanks, it's lucky you did, so that we won't be inundated by other people reporting similar problems. I see now that we were passing -Wno-pointer-sign to GCC, and that this suppressed useful diagnostics on newer GCC instances (but not on your older one). I installed the attached patch to fix both the signedness problem, and the diagnostic-suppression problem. --------------060801040305010002090005 Content-Type: text/plain; charset=UTF-8; name="0001-dfa-fix-pointer-type-conversion-bug.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-dfa-fix-pointer-type-conversion-bug.patch" RnJvbSA1Zjc5MTFlMDE2YTMxYThkOWRlMjYwZTg2MTAzYjFjMmQyODZiM2ZhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDE4IEFwciAyMDE0IDIzOjE3OjQxIC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gZGZhOiBmaXggcG9pbnRlciB0eXBlIGNvbnZlcnNpb24gYnVnCgpUaGUgY29kZSBjb252 ZXJ0ZWQgYmV0d2VlbiBzaXplX3QgKiBhbmQgcHRyZGlmZl90ICosIHdoaWNoIHdhc24ndApk aWFnbm9zZWQgYnkgbW9kZXJuIHg4Ni02NCBHQ0MgYnV0IGlzbid0IHBvcnRhYmxlLiAgUHJv YmxlbQpyZXBvcnRlZCBieSBOb3JpaGlybyBUYW5ha2EgaW4gPGh0dHA6Ly9idWdzLmdudS5v cmcvMTcxMzYjMzE+LgoqIGNvbmZpZ3VyZS5hYyAoV0VSUk9SX0NGTEFHUyk6IERvbid0IGFk ZCAtV25vLXBvaW50ZXItc2lnbi4KV2Ugd2FudCBHQ0MgdG8gZGlhZ25vc2UgcG9pbnRlciBz aWduZWRuZXNzIHByb2JsZW1zLCBhcyB0aGV5CnZpb2xhdGUgdGhlIEMgc3RhbmRhcmQgYW5k IG90aGVyIGNvbXBpbGVycyBubyBkb3VidCBjb21wbGFpbiB0b28uCiogc3JjL2RmYS5jIChz dHJ1Y3QgZGZhKTogQ2hhbmdlIHR5cGUgb2Ygc2FsbG9jIHRvIHNpemVfdC4KKHJlYWxsb2Nf dHJhbnNfaWZfbmVjZXNzYXJ5KTogQ29udmVydCBzaWduZWQgdmFsdWUgdG8gc2l6ZV90IGJl Zm9yZQpwYXNzaW5nIGl0cyBhZGRyZXNzIHRvIHgybnJlYWxsb2MuICBDaGFuZ2luZyB0aGUg dHlwZSBvZiB0cmFsbG9jCnRvIHNpemVfdCBtaWdodCBoYXZlIGxlZCB0byBwcm9ibGVtcyBl bHNld2hlcmUuCi0tLQogY29uZmlndXJlLmFjIHwgIDEgLQogc3JjL2RmYS5jICAgIHwgMTAg KysrKystLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDYgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4 IDg4NjQ0OWIuLjE3YTg5MjAgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25m aWd1cmUuYWMKQEAgLTE0NSw3ICsxNDUsNiBAQCBpZiB0ZXN0ICIkZ2xfZ2NjX3dhcm5pbmdz IiA9IHllczsgdGhlbgogICBkb25lCiAgIGdsX1dBUk5fQUREKFstV25vLW1pc3NpbmctZmll bGQtaW5pdGlhbGl6ZXJzXSkgIyBXZSBuZWVkIHRoaXMgb25lCiAgIGdsX1dBUk5fQUREKFst V25vLXNpZ24tY29tcGFyZV0pICAgICAjIFRvbyBtYW55IHdhcm5pbmdzIGZvciBub3cKLSAg Z2xfV0FSTl9BREQoWy1Xbm8tcG9pbnRlci1zaWduXSkgICAgICMgVG9vIG1hbnkgd2Fybmlu Z3MgZm9yIG5vdwogICBnbF9XQVJOX0FERChbLVduby11bnVzZWQtcGFyYW1ldGVyXSkgIyBU b28gbWFueSB3YXJuaW5ncyBmb3Igbm93CiAKICAgIyBJbiBzcGl0ZSBvZiBleGNsdWRpbmcg LVdsb2dpY2FsLW9wIGFib3ZlLCBpdCBpcyBlbmFibGVkLCBhcyBvZgpkaWZmIC0tZ2l0IGEv c3JjL2RmYS5jIGIvc3JjL2RmYS5jCmluZGV4IGVlY2EyNTcuLjkwY2Y0YTkgMTAwNjQ0Ci0t LSBhL3NyYy9kZmEuYworKysgYi9zcmMvZGZhLmMKQEAgLTM3OCw3ICszNzgsNyBAQCBzdHJ1 Y3QgZGZhCiAgIC8qIEZpZWxkcyBmaWxsZWQgYnkgdGhlIHN0YXRlIGJ1aWxkZXIuICAqLwog ICBkZmFfc3RhdGUgKnN0YXRlczsgICAgICAgICAgICAvKiBTdGF0ZXMgb2YgdGhlIGRmYS4g ICovCiAgIHN0YXRlX251bSBzaW5kZXg7ICAgICAgICAgICAgIC8qIEluZGV4IGZvciBhZGRp bmcgbmV3IHN0YXRlcy4gICovCi0gIHN0YXRlX251bSBzYWxsb2M7ICAgICAgICAgICAgIC8q IE51bWJlciBvZiBzdGF0ZXMgY3VycmVudGx5IGFsbG9jYXRlZC4gICovCisgIHNpemVfdCBz YWxsb2M7CQkvKiBOdW1iZXIgb2Ygc3RhdGVzIGN1cnJlbnRseSBhbGxvY2F0ZWQuICAqLwog CiAgIC8qIEZpZWxkcyBmaWxsZWQgYnkgdGhlIHBhcnNlIHRyZWUtPk5GQSBjb252ZXJzaW9u LiAgKi8KICAgcG9zaXRpb25fc2V0ICpmb2xsb3dzOyAgICAgICAgLyogQXJyYXkgb2YgZm9s bG93IHNldHMsIGluZGV4ZWQgYnkgcG9zaXRpb24KQEAgLTI3ODAsMTIgKzI3ODAsMTIgQEAg cmVhbGxvY190cmFuc19pZl9uZWNlc3NhcnkgKHN0cnVjdCBkZmEgKmQsIHN0YXRlX251bSBu ZXdfc3RhdGUpCiAgIGlmIChvbGRhbGxvYyA8PSBuZXdfc3RhdGUpCiAgICAgewogICAgICAg c3RhdGVfbnVtICoqcmVhbHRyYW5zID0gZC0+dHJhbnMgPyBkLT50cmFucyAtIDEgOiBOVUxM OwotICAgICAgc2l6ZV90IG5ld2FsbG9jOwotICAgICAgZC0+dHJhbGxvYyA9IG5ld19zdGF0 ZSArIDE7Ci0gICAgICByZWFsdHJhbnMgPSB4Mm5yZWFsbG9jIChyZWFsdHJhbnMsICZkLT50 cmFsbG9jLCBzaXplb2YgKnJlYWx0cmFucyk7CisgICAgICBzaXplX3QgbmV3YWxsb2MsIG5l d2FsbG9jMTsKKyAgICAgIG5ld2FsbG9jMSA9IG5ld19zdGF0ZSArIDE7CisgICAgICByZWFs dHJhbnMgPSB4Mm5yZWFsbG9jIChyZWFsdHJhbnMsICZuZXdhbGxvYzEsIHNpemVvZiAqcmVh bHRyYW5zKTsKICAgICAgIHJlYWx0cmFuc1swXSA9IE5VTEw7CiAgICAgICBkLT50cmFucyA9 IHJlYWx0cmFucyArIDE7Ci0gICAgICBuZXdhbGxvYyA9IC0tZC0+dHJhbGxvYzsKKyAgICAg IGQtPnRyYWxsb2MgPSBuZXdhbGxvYyA9IG5ld2FsbG9jMSAtIDE7CiAgICAgICBkLT5mYWls cyA9IHhucmVhbGxvYyAoZC0+ZmFpbHMsIG5ld2FsbG9jLCBzaXplb2YgKmQtPmZhaWxzKTsK ICAgICAgIGQtPnN1Y2Nlc3MgPSB4bnJlYWxsb2MgKGQtPnN1Y2Nlc3MsIG5ld2FsbG9jLCBz aXplb2YgKmQtPnN1Y2Nlc3MpOwogICAgICAgZC0+bmV3bGluZXMgPSB4bnJlYWxsb2MgKGQt Pm5ld2xpbmVzLCBuZXdhbGxvYywgc2l6ZW9mICpkLT5uZXdsaW5lcyk7Ci0tIAoxLjkuMAoK --------------060801040305010002090005-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 19 17:22:10 2014 Received: (at 17136) by debbugs.gnu.org; 19 Apr 2014 21:22:10 +0000 Received: from localhost ([127.0.0.1]:52836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wbci9-0003lA-Hn for submit@debbugs.gnu.org; Sat, 19 Apr 2014 17:22:10 -0400 Received: from mail-yh0-f50.google.com ([209.85.213.50]:50040) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wbci6-0003l1-25 for 17136@debbugs.gnu.org; Sat, 19 Apr 2014 17:22:06 -0400 Received: by mail-yh0-f50.google.com with SMTP id t59so550322yho.9 for <17136@debbugs.gnu.org>; Sat, 19 Apr 2014 14:22:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=sc8PK9J2fyDh0ZgSZ3mi63RfnK1yOx7bDjOprm/Jnso=; b=bWb8zAnH28g/LjAnbIeflU+pi9vOSfVag+/INCCaIjkf2frzF0k4lserW2PT4Aws+5 Vzh39/dnOjbrOCAUDyci+pZ3WnvHg3AQ9THnnl2VzFyLlCMHnsHSJbc9mIUtu/D0TmlY JYUQQuFrGHZiH6CKPeBwVRYfPOTyiGcK5X/5MZxk/lDDLTRxAzkvlrZYx5ZoIkLKDn6I GAnmkiElMRgsTGWe7pjm2uByEFpqpVWhxaN3LnX3rW4+cI9F9EMH3QmXQU1W69xw5hcG PxiVx4+Vxj2yhVtgbcAsAuUNSJUOLwY9l/uGctpE7JbD4f9k0hNqYm2CTLAjOHj9D9PX Dt0w== X-Received: by 10.236.135.197 with SMTP id u45mr46037yhi.150.1397942525417; Sat, 19 Apr 2014 14:22:05 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.149.193 with HTTP; Sat, 19 Apr 2014 14:21:45 -0700 (PDT) In-Reply-To: <53521616.80204@cs.ucla.edu> References: <533621D9.2010506@cs.ucla.edu> <5350BF35.5040407@cs.ucla.edu> <20140419105621.5CFF.27F6AC2D@kcn.ne.jp> <53521616.80204@cs.ucla.edu> From: Jim Meyering Date: Sat, 19 Apr 2014 14:21:45 -0700 X-Google-Sender-Auth: atmOkq46VgZTkJHZlo-ctIUcyPI Message-ID: Subject: Re: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX To: Paul Eggert Content-Type: multipart/mixed; boundary=20cf3011db9da4f01704f76bdbd8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17136 Cc: Norihiro Tanaka , 17136@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --20cf3011db9da4f01704f76bdbd8 Content-Type: text/plain; charset=ISO-8859-1 On Fri, Apr 18, 2014 at 11:22 PM, Paul Eggert wrote: > Norihiro Tanaka wrote: >> >> Perhaps, I may run accross it in order to use old GCC (4.1.2 on CentOS >> 5.10). > > > Thanks, it's lucky you did, so that we won't be inundated by other people > reporting similar problems. I see now that we were passing > -Wno-pointer-sign to GCC, and that this suppressed useful diagnostics on > newer GCC instances (but not on your older one). I installed the attached > patch to fix both the signedness problem, and the diagnostic-suppression > problem. This has encouraged me to revisit grep's list of disabled gcc warnings. It turns out that we've been disabling many unnecessarily. The attached patch reenables those that do not elicit a warning from gcc-4.9. --20cf3011db9da4f01704f76bdbd8 Content-Type: text/plain; charset=US-ASCII; name="k.txt" Content-Disposition: attachment; filename="k.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hu7eu5q21 RnJvbSBkNjVkY2YzOWYzZDU4NzAyN2NjY2I2YzdkZTZkN2Q3MGZiMzM2ZTU2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog U2F0LCAxOSBBcHIgMjAxNCAwODoyMzoxNCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkOiBy ZWVuYWJsZSBzb21lIGNvbXBpbGVyIHdhcm5pbmcgb3B0aW9ucwoKLS0tCiBjb25maWd1cmUuYWMg fCAyNiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29u ZmlndXJlLmFjCmluZGV4IDE3YTg5MjAuLjZhOTljNDAgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5h YworKysgYi9jb25maWd1cmUuYWMKQEAgLTExNCwyOSArMTE0LDEyIEBAIGlmIHRlc3QgIiRnbF9n Y2Nfd2FybmluZ3MiID0geWVzOyB0aGVuCiAgIG53PSIkbncgLVdsb25nLWxvbmciICAgICAgICAg ICAgICAjIEM5MCBpcyBhbmFjaHJvbmlzdGljIChsaWIvZ2V0aHJ4dGltZS5oKQogICBudz0iJG53 IC1XYysrLWNvbXBhdCIgICAgICAgICAgICAgIyBXZSBkb24ndCBjYXJlIGFib3V0IEMrKyBjb21w aWxlcnMKICAgbnc9IiRudyAtV3VuZGVmIiAgICAgICAgICAgICAgICAgICMgV2FybnMgb24gJyNp ZiBHTlVMSUJfRk9PJyBldGMgaW4gZ251bGliCi0gIG53PSIkbncgLVd0cmFkaXRpb25hbCIgICAg ICAgICAgICAjIFdhcm5zIG9uICNlbGlmIHdoaWNoIHdlIHVzZSBvZnRlbgotICBudz0iJG53IC1X Y2FzdC1xdWFsIiAgICAgICAgICAgICAgIyBUb28gbWFueSB3YXJuaW5ncyBmb3Igbm93Ci0gIG53 PSIkbncgLVdjb252ZXJzaW9uIiAgICAgICAgICAgICAjIFRvbyBtYW55IHdhcm5pbmdzIGZvciBu b3cKICAgbnc9IiRudyAtV3N5c3RlbS1oZWFkZXJzIiAgICAgICAgICMgRG9uJ3QgbGV0IHN5c3Rl bSBoZWFkZXJzIHRyaWdnZXIgd2FybmluZ3MKLSAgbnc9IiRudyAtV3NpZ24tY29udmVyc2lvbiIg ICAgICAgICMgVG9vIG1hbnkgd2FybmluZ3MgZm9yIG5vdwotICBudz0iJG53IC1XdHJhZGl0aW9u YWwtY29udmVyc2lvbiIgIyBUb28gbWFueSB3YXJuaW5ncyBmb3Igbm93Ci0gIG53PSIkbncgLVd1 bnJlYWNoYWJsZS1jb2RlIiAgICAgICAjIFRvbyBtYW55IHdhcm5pbmdzIGZvciBub3cKICAgbnc9 IiRudyAtV3BhZGRlZCIgICAgICAgICAgICAgICAgICMgT3VyIHN0cnVjdHMgYXJlIG5vdCBwYWRk ZWQKLSAgbnc9IiRudyAtV3JlZHVuZGFudC1kZWNscyIgICAgICAgICMgb3BlbmF0LmggZGVjbGFy ZXMgZS5nLiwgbWtkaXJhdAotICBudz0iJG53IC1XbG9naWNhbC1vcCIgICAgICAgICAgICAgIyBh bnkgdXNlIG9mIGZ3cml0ZSBwcm92b2tlcyB0aGlzCi0gIG53PSIkbncgLVdmb3JtYXQtbm9ubGl0 ZXJhbCIgICAgICAjIHdoby5jIGFuZCBwaW5reS5jIHN0cmZ0aW1lIHVzZXMKICAgbnc9IiRudyAt V3ZsYSIgICAgICAgICAgICAgICAgICAgICMgd2FybmluZ3MgaW4gZ2V0dGV4dC5oCi0gIG53PSIk bncgLVduZXN0ZWQtZXh0ZXJucyIgICAgICAgICAjIHVzZSBvZiBYQVJHTUFUQ0gvdmVyaWZ5X2Z1 bmN0aW9uX18KLSAgbnc9IiRudyAtV3N3aXRjaC1lbnVtIiAgICAgICAgICAgICMgVG9vIG1hbnkg d2FybmluZ3MgZm9yIG5vdwogICBudz0iJG53IC1Xc3dpdGNoLWRlZmF1bHQiICAgICAgICAgIyBU b28gbWFueSB3YXJuaW5ncyBmb3Igbm93Ci0gIG53PSIkbncgLVdzdGFjay1wcm90ZWN0b3IiICAg ICAgICAjIG5vdCB3b3J0aCB3b3JraW5nIGFyb3VuZAotICAjIHRoaW5ncyBJIG1pZ2h0IGZpeCBz b29uOgotICBudz0iJG53IC1XZmxvYXQtZXF1YWwiICAgICAgICAgICAgIyBzb3J0LmMsIHNlcS5j Ci0gIG53PSIkbncgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUiICMgY29weS5jCi0gIG53PSIk bncgLVd1bnNhZmUtbG9vcC1vcHRpbWl6YXRpb25zIiAjIGEgZmV3IHNyYy8qLmMKLSAgbnc9IiRu dyAtV2lubGluZSIgICAgICAgICAgICAgICAgICMgc3lzdGVtLmgncyByZWFkZGlyX2lnbm9yaW5n X2RvdF9hbmRfZG90ZG90Ci0gIG53PSIkbncgLVdzdHJpY3Qtb3ZlcmZsb3ciICAgICAgICAjIGV4 cHIuYywgcHIuYywgdHIuYywgZmFjdG9yLmMKLSAgIyA/PyAtV3N0cmljdC1vdmVyZmxvdworICBu dz0iJG53IC1XaW5saW5lIiAgICAgICAgICAgICAgICAgIyBzdHJlcS5oJ3Mgc3RyZXE0LCBzdHJl cTYgYW5kIHN0cmNhc2VlcTYKKyAgbnc9IiRudyAtV3N0cmljdC1vdmVyZmxvdyIgICAgICAgICMg cmVnZXhlYy5jCgogICBnbF9NQU5ZV0FSTl9BTExfR0NDKFt3c10pCiAgIGdsX01BTllXQVJOX0NP TVBMRU1FTlQoW3dzXSwgWyR3c10sIFskbnddKQpAQCAtMTY2LDEyICsxNDksNyBAQCBpZiB0ZXN0 ICIkZ2xfZ2NjX3dhcm5pbmdzIiA9IHllczsgdGhlbgogICAjIFdlIHVzZSBhIHNsaWdodGx5IHNt YWxsZXIgc2V0IG9mIHdhcm5pbmcgb3B0aW9ucyBmb3IgbGliLy4KICAgIyBSZW1vdmUgdGhlIGZv bGxvd2luZyBhbmQgc2F2ZSB0aGUgcmVzdWx0IGluIEdOVUxJQl9XQVJOX0NGTEFHUy4KICAgbnc9 Ci0gICNudz0iJG53IC1XdW5pbml0aWFsaXplZCIKICAgbnc9IiRudyAtV3VudXNlZC1tYWNyb3Mi Ci0gICNudz0iJG53IC1XbWlzc2luZy1wcm90b3R5cGVzIgotICBudz0iJG53IC1Xb2xkLXN0eWxl LWRlZmluaXRpb24iCi0gIG53PSIkbncgLVdjYXN0LWFsaWduIgotICBudz0iJG53IC1XdW5zdWZm aXhlZC1mbG9hdC1jb25zdGFudHMiCiAgIGdsX1dBUk5fQUREKFstV25vLWZvcm1hdC1ub25saXRl cmFsXSkKICAgZ2xfTUFOWVdBUk5fQ09NUExFTUVOVChbR05VTElCX1dBUk5fQ0ZMQUdTXSwgWyRX QVJOX0NGTEFHU10sIFskbnddKQogICBBQ19TVUJTVChbR05VTElCX1dBUk5fQ0ZMQUdTXSkKLS0g CjEuOS4yLjQ1OS5nNjg3NzNhYwoK --20cf3011db9da4f01704f76bdbd8-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 24 04:11:47 2014 Received: (at 17136) by debbugs.gnu.org; 24 Apr 2014 08:11:47 +0000 Received: from localhost ([127.0.0.1]:56843 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdEl1-0005jI-37 for submit@debbugs.gnu.org; Thu, 24 Apr 2014 04:11:47 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:60046) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdEky-0005j7-Dz for 17136@debbugs.gnu.org; Thu, 24 Apr 2014 04:11:45 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id A81F539E8014; Thu, 24 Apr 2014 01:11:43 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IDhKrbbMhFWI; Thu, 24 Apr 2014 01:11:39 -0700 (PDT) Received: from [192.168.1.9] (pool-108-0-233-62.lsanca.fios.verizon.net [108.0.233.62]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 5776D39E8012; Thu, 24 Apr 2014 01:11:39 -0700 (PDT) Message-ID: <5358C736.7010307@cs.ucla.edu> Date: Thu, 24 Apr 2014 01:11:34 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX References: <533621D9.2010506@cs.ucla.edu> <5350BF35.5040407@cs.ucla.edu> <20140419105621.5CFF.27F6AC2D@kcn.ne.jp> <53521616.80204@cs.ucla.edu> In-Reply-To: Content-Type: multipart/mixed; boundary="------------070903070809050505050104" X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17136 Cc: 17136@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) This is a multi-part message in MIME format. --------------070903070809050505050104 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Jim Meyering wrote: > The attached patch reenables those that do not elicit a warning > from gcc-4.9. Thanks, with an unusual configuration I ran into another warning from GCC 4.9.0 and installed the attached followup patch. --------------070903070809050505050104 Content-Type: text/plain; charset=UTF-8; name="0001-build-suppress-unsafe-loop-optimizations-warnings.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-build-suppress-unsafe-loop-optimizations-warnings.patch" RnJvbSBmNzJjNDNjNjA2YjIxOTIwNDAwNGNjZGIzMjdjNzMyMGY5MTA2Y2U3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDI0IEFwciAyMDE0IDAxOjEwOjAxIC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gYnVpbGQ6IHN1cHByZXNzIHVuc2FmZS1sb29wLW9wdGltaXphdGlvbnMgd2FybmluZ3MK CkkgcmFuIGludG8gb25lIG9mIHRoZXNlIHdoaWxlIHRyeWluZyBvdXQgR0NDIDQuOS4wJ3Mg bmV3Ci1mc2FuaXRpemU9dW5kZWZpbmVkIG9wdGlvbi4gIFRoZSB3YXJuaW5nIHRvbGQgbWUg dGhhdCBHQ0MgZGlkbid0CmRvIGFuIHVuc2FmZSBvcHRpbWl6YXRpb24sIGJ1dCBpbiAnZ3Jl cCcgdGhpcyBpcyBub3QgdHlwaWNhbGx5IGEKc3ltcHRvbSBvZiBhIHByb2dyYW1taW5nIGVy cm9yLgoqIGNvbmZpZ3VyZS5hYyAoV0VSUk9SX0NGTEFHUyk6IFN1cHByZXNzIC1XdW5zYWZl LWxvb3Atb3B0aW1pemF0aW9ucy4KLS0tCiBjb25maWd1cmUuYWMgfCAxICsKIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2Nv bmZpZ3VyZS5hYwppbmRleCA2YTk5YzQwLi5jMzAxZWJlIDEwMDY0NAotLS0gYS9jb25maWd1 cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC0xMTgsNiArMTE4LDcgQEAgaWYgdGVzdCAi JGdsX2djY193YXJuaW5ncyIgPSB5ZXM7IHRoZW4KICAgbnc9IiRudyAtV3BhZGRlZCIgICAg ICAgICAgICAgICAgICMgT3VyIHN0cnVjdHMgYXJlIG5vdCBwYWRkZWQKICAgbnc9IiRudyAt V3ZsYSIgICAgICAgICAgICAgICAgICAgICMgd2FybmluZ3MgaW4gZ2V0dGV4dC5oCiAgIG53 PSIkbncgLVdzd2l0Y2gtZGVmYXVsdCIgICAgICAgICAjIFRvbyBtYW55IHdhcm5pbmdzIGZv ciBub3cKKyAgbnc9IiRudyAtV3Vuc2FmZS1sb29wLW9wdGltaXphdGlvbnMiICMgT0sgdG8g c3VwcHJlc3MgdW5zYWZlIG9wdGltaXphdGlvbnMKICAgbnc9IiRudyAtV2lubGluZSIgICAg ICAgICAgICAgICAgICMgc3RyZXEuaCdzIHN0cmVxNCwgc3RyZXE2IGFuZCBzdHJjYXNlZXE2 CiAgIG53PSIkbncgLVdzdHJpY3Qtb3ZlcmZsb3ciICAgICAgICAjIHJlZ2V4ZWMuYwogCi0t IAoxLjkuMAoK --------------070903070809050505050104-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 24 12:23:05 2014 Received: (at 17136) by debbugs.gnu.org; 24 Apr 2014 16:23:05 +0000 Received: from localhost ([127.0.0.1]:57451 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdMQR-0004oB-Ve for submit@debbugs.gnu.org; Thu, 24 Apr 2014 12:23:04 -0400 Received: from mail-yk0-f179.google.com ([209.85.160.179]:48012) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdMQO-0004nX-Mq; Thu, 24 Apr 2014 12:23:01 -0400 Received: by mail-yk0-f179.google.com with SMTP id 9so2250004ykp.38 for ; Thu, 24 Apr 2014 09:23:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=z40xUTkDmbIdERM3ZIwT0L1w0gI71hIkwl4MkWZAGGQ=; b=o+BON1s0RuQI7kHYKybXJLGmh2vFqym8Wq54MDuZOqWTuaMZu2BnaoRAUgGEWuuEp0 JwUSFXfuA/XmkGh+pmAnUWtkCEWB+mrtO2C8Q7TZmkxXgCdhgbvQWYRTH1p79rGhJtT5 rR3m8Kuluk1SB+FlwXw4/IXohd1OhAG5f9mHWanPLAQJo/63zvLfk48xw10hfRIA1PcL psQ35kEWxt1VaxVVBgr8i52t8AiMHR6f2pSGDbEH3UJENWX8BC0j7SFyV82VI3C3mWk2 xtNYS7E2NEh+JHo/R2GqyLup+wcg2n6a8+eIptZRb8R3SO/j4LScaQKkonub8PDq6gfu DRxw== X-Received: by 10.236.151.83 with SMTP id a59mr3960303yhk.48.1398356580025; Thu, 24 Apr 2014 09:23:00 -0700 (PDT) MIME-Version: 1.0 Received: by 10.170.149.193 with HTTP; Thu, 24 Apr 2014 09:22:38 -0700 (PDT) In-Reply-To: <5350BF35.5040407@cs.ucla.edu> References: <533621D9.2010506@cs.ucla.edu> <5350BF35.5040407@cs.ucla.edu> From: Jim Meyering Date: Thu, 24 Apr 2014 09:22:38 -0700 X-Google-Sender-Auth: bSjIF391q-1zobBYdfBOy7mw1m4 Message-ID: Subject: Re: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX To: 17136 <17136@debbugs.gnu.org>, Paul Eggert Content-Type: multipart/mixed; boundary=20cf303a30eb38e09f04f7cc435d X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17136 Cc: 17136-done <17136-done@debbugs.gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --20cf303a30eb38e09f04f7cc435d Content-Type: text/plain; charset=ISO-8859-1 On Thu, Apr 17, 2014 at 10:59 PM, Paul Eggert wrote: > I merged that patch into the grep trunk and am closing this bug report. > While merging, I removed one part of the patch that had a small but > measurable performance degradation, namely, the introduction of struct > dfatab. I found some other minor simplifications and threw them in. There > seems to be no significant change in CPU performance. The patch's causes > the dfa module's text size to shrink by 8% on my platform (x86-64 Fedora > 20), which I suppose is a small win, but the main point of the patch is > simplifying the source. I'm attaching what I installed, broken into 12 > little patches to ease review. Running the tests with ASAN-enabled grep exposed a buffer overrun that was introduced by the "simplify range char allocation" one. I've fixed it with the attached patch: --20cf303a30eb38e09f04f7cc435d Content-Type: text/plain; charset=US-ASCII; name="k.txt" Content-Disposition: attachment; filename="k.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hue9c0ks12 RnJvbSA5ZWUxMDA5ODVjNTVkYTdkMjU2OGIwNjQ5MmVkM2JlZTAyNWIyYmI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog VGh1LCAyNCBBcHIgMjAxNCAwOTowMzozOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGdyZXA6IGZp eCBuZXcgaGVhcCB3cml0ZSBidWZmZXIgb3ZlcnJ1bgoKKiBzcmMvZGZhLmMgKHBhcnNlX2JyYWNr ZXRfZXhwKTogRml4IG9mZi1ieS1vbmUgYWxsb2NhdGlvbiBlcnJvci4KRXhwb3NlZCBieSBydW5u aW5nIHRoZSB0ZXN0cyB3aXRoIGFuIEFTQU4tZW5hYmxlZCBiaW5hcnkgKGkuZS4sCmNyZWF0ZWQg dXNpbmcgZ2NjJ3MgLWZzYW5pdGl6ZT1hZGRyZXNzIG9wdGlvbikuIEhlcmUncyB0aGUgc3RhY2sK dHJhY2UgeW91IGdldCB3aXRoIGVhY2ggYWJvcnQ6Cgo9PTc0MDEwPT1FUlJPUjogQWRkcmVzc1Nh bml0aXplcjogaGVhcC1idWZmZXItb3ZlcmZsb3cgb24gYWRkcmVzc1wKIDB4NjAyMDAwMDBjODk4 IGF0IHBjIDB4MTA2ZTJjYmU5IGJwIDB4N2ZmZjU4ZGRlYzQwIHNwIDB4N2ZmZjU4ZGRlYzM4CldS SVRFIG9mIHNpemUgNCBhdCAweDYwMjAwMDAwYzg5OCB0aHJlYWQgVDAKICAgICMwIDB4MTA2ZTJj YmU4IGluIHBhcnNlX2JyYWNrZXRfZXhwIGRmYS5jOjExMzcKICAgICMxIDB4MTA2ZTJlYjM0IGlu IGxleCBkZmEuYzoxNTIzCiAgICAjMiAweDEwNmUzMDUxMCBpbiBkZmFwYXJzZSBkZmEuYzoxOTQz CiAgICAjMyAweDEwNmUzZTI0ZCBpbiBkZmFjb21wIGRmYS5jOjM1NDcKICAgICM0IDB4MTA2ZTQz OWVlIGluIEdFQWNvbXBpbGUgZGZhc2VhcmNoLmM6MTk5CiAgICAjNSAweDEwNmUyNDk5YSBpbiBH Y29tcGlsZSBncmVwLmM6MTY0OAogICAgIzYgMHgxMDZlMjdjYTggaW4gbWFpbiBncmVwLmM6MjMz OQoKSW50cm9kdWNlZCBieSBjb21taXQgdjIuMTgtNzAtZ2QzZDk2MTIsCiJkZmE6IHNpbXBsaWZ5 IHJhbmdlIGNoYXIgYWxsb2NhdGlvbiIuCi0tLQogc3JjL2RmYS5jIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Rm YS5jIGIvc3JjL2RmYS5jCmluZGV4IDVkYzBmMDkuLjI0YjRkNWMgMTAwNjQ0Ci0tLSBhL3NyYy9k ZmEuYworKysgYi9zcmMvZGZhLmMKQEAgLTExMjUsNyArMTEyNSw3IEBAIHBhcnNlX2JyYWNrZXRf ZXhwICh2b2lkKQogICAgICAgICAgICAgICAgICAgICAgaXMgd3JvbmcgaW4gbXVsdGlwbGUgd2F5 cywgaXQncyBuZXZlciB1c2VkIGluIHByYWN0aWNlLgogICAgICAgICAgICAgICAgICAgICAgRklY TUU6IFJlbW92ZSB0aGlzIChhbmQgcmVsYXRlZCkgdW51c2VkIGNvZGUuICAqLwogICAgICAgICAg ICAgICAgICAgd29ya19tYmMtPnJhbmdlcwotICAgICAgICAgICAgICAgICAgICA9IG1heWJlX3Jl YWxsb2MgKHdvcmtfbWJjLT5yYW5nZXMsIHdvcmtfbWJjLT5ucmFuZ2VzICsgMSwKKyAgICAgICAg ICAgICAgICAgICAgPSBtYXliZV9yZWFsbG9jICh3b3JrX21iYy0+cmFuZ2VzLCB3b3JrX21iYy0+ bnJhbmdlcyArIDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJhbmdl c19hbCwgc2l6ZW9mICp3b3JrX21iYy0+cmFuZ2VzKTsKICAgICAgICAgICAgICAgICAgIHdvcmtf bWJjLT5yYW5nZXNbd29ya19tYmMtPm5yYW5nZXNdLmJlZwogICAgICAgICAgICAgICAgICAgICA9 IGNhc2VfZm9sZCA/IHRvd2xvd2VyICh3YykgOiB3YzsKLS0gCjEuOS4yLjQ1OS5nNjg3NzNhYwoK --20cf303a30eb38e09f04f7cc435d-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 24 15:54:44 2014 Received: (at 17136) by debbugs.gnu.org; 24 Apr 2014 19:54:44 +0000 Received: from localhost ([127.0.0.1]:57491 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdPjH-0002ZV-Ne for submit@debbugs.gnu.org; Thu, 24 Apr 2014 15:54:44 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:34129) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WdPjE-0002ZL-DF for 17136@debbugs.gnu.org; Thu, 24 Apr 2014 15:54:41 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 63A8339E8014; Thu, 24 Apr 2014 12:54:39 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0Pz3loHBxu0M; Thu, 24 Apr 2014 12:54:34 -0700 (PDT) Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id A4D1939E8011; Thu, 24 Apr 2014 12:54:34 -0700 (PDT) Message-ID: <53596BFA.8000808@cs.ucla.edu> Date: Thu, 24 Apr 2014 12:54:34 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Jim Meyering , 17136 <17136@debbugs.gnu.org> Subject: Re: bug#17136: [PATCH] dfa: speed up memory allocation, port to IRIX References: <533621D9.2010506@cs.ucla.edu> <5350BF35.5040407@cs.ucla.edu> In-Reply-To: Content-Type: multipart/mixed; boundary="------------010600030702090707060600" X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: 17136 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.0 (---) This is a multi-part message in MIME format. --------------010600030702090707060600 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Thanks for fixing that bug, which I introduced. I added the attached change to fix the comment (which I also wrote) that led me astray. --------------010600030702090707060600 Content-Type: text/x-patch; name="0001-dfa-fix-incorrect-comment-that-led-to-heap-overrun.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0001-dfa-fix-incorrect-comment-that-led-to-heap-overrun.patc"; filename*1="h" >From 59f3fac48e8b5456f4e0a45dfd99fba38d8b7af5 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 24 Apr 2014 12:49:58 -0700 Subject: [PATCH] dfa: fix incorrect comment that led to heap overrun * dfa.c (maybe_realloc): Fix comment to match behavior. --- src/dfa.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/dfa.c b/src/dfa.c index 8fc3d6f..f9938b0 100644 --- a/src/dfa.c +++ b/src/dfa.c @@ -624,10 +624,14 @@ equal (charclass const s1, charclass const s2) return memcmp (s1, s2, sizeof (charclass)) == 0; } -/* If needed, reallocate *PTR so that it holds at least NITEMS items. - The array holds *NALLOC items; *NALLOC is updated on reallocation. - ITEMSIZE is the size of one item. Avoid O(N**2) behavior on arrays - growing linearly. */ +/* Ensure that the array addressed by PTR holds at least NITEMS + + (PTR || !NITEMS) items. Either return PTR, or reallocate the array + and return its new address. Although PTR may be null, the returned + value is never null. + + The array holds *NALLOC items; *NALLOC must be zero if PTR is null, + and is updated on reallocation. ITEMSIZE is the size of one item. + Avoid O(N**2) behavior on arrays growing linearly. */ static void * maybe_realloc (void *ptr, size_t nitems, size_t *nalloc, size_t itemsize) { -- 1.9.0 --------------010600030702090707060600-- From unknown Thu Jun 19 13:59:31 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 23 May 2014 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator