From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#71744: 29.4; SIGSEGV during completion-at-point in lsp-mode with corfu and cape Date: Fri, 16 Aug 2024 21:37:29 -0700 Organization: UCLA Computer Science Department Message-ID: References: <86mslf8axb.fsf@gnu.org> <86ed6r8535.fsf@gnu.org> <86cymb846o.fsf@gnu.org> <87jzgi17dy.fsf@protonmail.com> <87h6bkjyj1.fsf@protonmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------mn3TuTGtrhrB7WKYEJDHNCFz" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3270"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: sigve.indregard@pm.me, 71744@debbugs.gnu.org To: Pip Cet , Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Aug 17 06:38:48 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sfBDD-0000fV-8e for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 17 Aug 2024 06:38:47 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sfBCt-0002Ft-RN; Sat, 17 Aug 2024 00:38:28 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sfBCr-0002DJ-Jk for bug-gnu-emacs@gnu.org; Sat, 17 Aug 2024 00:38:25 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sfBCr-0003un-3d for bug-gnu-emacs@gnu.org; Sat, 17 Aug 2024 00:38:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=In-Reply-To:From:References:MIME-Version:Date:To:Subject; bh=TjZqY11H7fsVdVyyBG6z9BrxFoic5Ul9uxgGAmNdsXs=; b=jZ8oP1YHeuVp2eBZXkVsdQN53GGlnYtNesSt9lHe0VZsMFPxoYkqjWDQMLhF5g1h7kfhAW/jLpptXww7cVEZ3notgggFJKYQAfR8JTXPuT8PB9XF0KSHJ5dv0ot50k0ZrhWmzRKviMJRKbtr+YF4q6sRA/fuqPxhZl2vVGR5GS1bNEb98/7IMuJvcUIGM19uyNXev3Pd9QLAXUhPr66mcZJADpBQkSGXVX4AENNZDIqKT4Rf4UAUTJkIw1VJ/z6bLSSoqE+ewFTBST4q9pJBPB/X7edoIKKBSSHlbcfCC5Dn0IchnlllhB9zuwi4swIEq6wDZ8+cE/soBbi1EcX5MA==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sfBDS-0002ca-7P for bug-gnu-emacs@gnu.org; Sat, 17 Aug 2024 00:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Aug 2024 04:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71744 X-GNU-PR-Package: emacs Original-Received: via spool by 71744-submit@debbugs.gnu.org id=B71744.172386950010006 (code B ref 71744); Sat, 17 Aug 2024 04:39:02 +0000 Original-Received: (at 71744) by debbugs.gnu.org; 17 Aug 2024 04:38:20 +0000 Original-Received: from localhost ([127.0.0.1]:53190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sfBCl-0002bI-1l for submit@debbugs.gnu.org; Sat, 17 Aug 2024 00:38:20 -0400 Original-Received: from mail.cs.ucla.edu ([131.179.128.66]:35402) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sfBCh-0002aw-G4 for 71744@debbugs.gnu.org; Sat, 17 Aug 2024 00:38:17 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 1A0863C00E40B; Fri, 16 Aug 2024 21:37:31 -0700 (PDT) Original-Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id Il2R1LvBaHEv; Fri, 16 Aug 2024 21:37:30 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id E229A3C00E40C; Fri, 16 Aug 2024 21:37:29 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu E229A3C00E40C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1723869449; bh=TjZqY11H7fsVdVyyBG6z9BrxFoic5Ul9uxgGAmNdsXs=; h=Message-ID:Date:MIME-Version:To:From; b=CpjJC/pjRWlaeCA9qwqNF7jNwDUCSpAptDf1FRKDlEJr7yUY970MYRNU1Pq+xbtvt xd7mD3emFxEar1F/zlEVkFS40lZk9kGwGP1SphxOMlcujeGJH+TArus/lPVE3KBx1f haST0imRCBkz7Nt2Zg5U9y+wVRHCiFVqvqV7kjOYzw2rnI8RkFMGrd0dI5S++wj1Y5 l1X1//IYV2ESkKcE6gg9T8wNX7EB34zMlpnR4TQUi9xxmB4sMpLtsYxOo5/HZhrvCD Dov5ZjE4Fdit6IkMuPfvvGfcU0P33OgYvbiMuo3aZd7lx689tN7xb4n76s/iWheuSw 8MT3Ictp3smTQ== X-Virus-Scanned: amavis at mail.cs.ucla.edu Original-Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id jnCVNISu-GAi; Fri, 16 Aug 2024 21:37:29 -0700 (PDT) Original-Received: from [192.168.254.12] (unknown [47.150.137.250]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id AD32F3C00E40B; Fri, 16 Aug 2024 21:37:29 -0700 (PDT) Content-Language: en-US In-Reply-To: <87h6bkjyj1.fsf@protonmail.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:290210 Archived-At: This is a multi-part message in MIME format. --------------mn3TuTGtrhrB7WKYEJDHNCFz Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2024-08-16 08:08, Pip Cet wrote: > /* Work around GCC bug 54561. */ > #if GNUC_PREREQ (4, 3, 0) > # pragma GCC diagnostic ignored "-Wclobbered" > #endif > > which means we won't get any warnings at all about such bugs. > > However, even with that part removed, I don't get a compiler warning > about 'c'. With that part removed I got a warning about 'kb', not 'c'. The 'kb' warning was a false positive, the 'c' warning a false negative. The most likely explanation, I think, is that GCC got confused and put the wrong identifier name in its diagnostic. This would help to explain a lot of the -Wclobbered false positives we've gotten over the years, which has caused us to ignore -Wclobbered. > What's weird about this is that the store at +5463 that's causing our > problem isn't necessary, and neither is the load at +5479. The variable > in question, 'kb', is not marked volatile, so it seems strange to me it's > stored, then loaded, unnecessarily. My guess is that GCC internally coalesced the two variables, and got confused because one was clobbered and the other was not, and issued a warning that it clobbered the variable but mistakenly said 'kb' not 'c'. The C standard entitles GCC to clobber 'c' so this isn't wrong code, it's just a bad (a *really* bad) diagnostic. > Paul, do you agree that we should simply mark 'c' as volatile, or do you > think this needs further investigation on the GCC side (because of the > lack of a -Wclobbered warning being issued, or because of the weird > code)? We definitely should mark 'c' as volatile, or do something equivalent, because the Emacs code violates the C standard. Also, if my hypothesis of the mistaken identifier is correct, we should stop ignoring -Wclobbered, and instead pacify GCC without using -Wclobbered. That way, when we screw up in setjmp related code, we'll get *some* warning that *something* is being clobbered, and can investigate. To do that, I installed the attached patches into the Emacs master branch. While looking into this I noticed several uses of clobbered variables (i.e., violations of the C standard) and fixed them. Patches 0001-0004 fix these similar bugs elsewhere. Patch 0005 implements your suggestion and should fix Bug#71744. Patch 0006 is a minor performance improvement over Patch 0005. Please give these patches a try. Patch 0005 is simple and if it works for the original bug reporter we should be able to close the bug report as fixed. --------------mn3TuTGtrhrB7WKYEJDHNCFz Content-Type: text/x-patch; charset=UTF-8; name="0001-Don-t-ignore-Wclobbered-in-bytecode.c.patch" Content-Disposition: attachment; filename="0001-Don-t-ignore-Wclobbered-in-bytecode.c.patch" Content-Transfer-Encoding: base64 RnJvbSAyMTY5YTkzODdhNWFjMjJiOTY5ZDM3ZWNlNGVjMWFhYTBmZDgzMGQ5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDE2IEF1ZyAyMDI0IDE2OjI5OjUxIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxLzZdID0/VVRGLTg/cT9Eb249RTI9ODA9OTl0PTIwaWdub3JlPTIwLVdjbG9iYmVyZWQ9 MjBpbj89CiA9P1VURi04P3E/PTIwYnl0ZWNvZGUuYz89Ck1JTUUtVmVyc2lvbjogMS4wCkNv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CgpUaGlzIGZpeCBpcyBwcm9tcHRlZCBieSBFbWFjcyBidWcjNzE3 NDQuClRoZSB3b3JraW5nIGh5cG90aGVzaXMgaXMgdGhhdCB0aGVyZSBhcmUgc29tZSBidWdz IGluIEVtYWNzLAphbmQgc29tZSBpbiBHQ0PigJlzIGRpYWdub3N0aWNzLCBhbmQgdGhhdCB0 aGlzIHBhdGNoCmZpeGVzIHRoZSBFbWFjcyBidWdzIGFuZCB3b3JrcyBhcm91bmQgdGhlIEdD QyBkaWFnbm9zdGljIGJ1Z3MuClRoZSBoeXBvdGhlc2lzIGlzIHRoYXQgR0NDIGRpYWdub3N0 aWMgYnVncyBvY2N1ciB3aGVuIEdDQwpjb2FsZXNjZXMgdmFyaWFibGVzIG9yIHRlbXBvcmFy aWVzIGFuZCBzb21lIHZhcmlhYmxlcwphcmUgY2xvYmJlcmVkIGJ5IHNldGptcCBhbmQgc29t ZSB2YXJzL3RlbXBzIGFyZSBub3QuClBhcnQgb2YgdGhpcyBoeXBvdGhlc2lzIGludm9sdmVz IEdDQyBkaWFnbm9zaW5nIHRoZSB3cm9uZyB2YXJpYWJsZXMuCkluc3RlYWQgb2YgaWdub3Jp bmcgdGhlIGRpYWdub3N0aWNzLCB3aGljaCB0aGUgaHlwb3RoZXNpcyBzdWdnZXN0cwppbmRp Y2F0ZSBlaXRoZXIgcHJvYmxlbXMgaW4gRW1hY3Mgb3IgaW4gR0NDLCBmaXggdGhlIEVtYWNz IGJ1Z3MKYW5kIHBhY2lmeSB0aGUgR0NDIGZhbHNlIHBvc2l0aXZlcywgd2l0aCBjb21tZW50 cyBhYm91dCB0aGUgR0NDIGJ1Z3MuCkdDQ+KAmXMgdHJ1ZSBwb3NpdGl2ZXMgYXJlIGhlbHBm dWwgZW5vdWdoIGluIHNxdWFzaGluZyBvYnNjdXJlIGJ1Z3MgbGlrZQpFbWFjcyBidWcjNzE3 NDQsIHRoYXQgaXTigJlzIHdvcnRoIGdvaW5nIHRvIHNvbWUgZWZmb3J0IHRvIHBhY2lmeQot V2Nsb2JiZXJlZCBpbnN0ZWFkIG9mIGlnbm9yaW5nIGl0LgoqIHNyYy9ieXRlY29kZS5jOiBE byBub3QgaWdub3JlIC1XY2xvYmJlcmVkLgooZXhlY19ieXRlX2NvZGUpOiBGaXggdmlvbGF0 aW9ucyBvZiB0aGUgQyBzdGFuZGFyZCwgd2hlcmUgc2V0am1wCmNsb2JiZXJlZCBxdWl0Y291 bnRlciBhbmQgYmMuICBJZiBHQ0NfTElOVCAmJiBfX0dOVUNfXyAmJiAhX19jbGFuZ19fLAp3 b3JrIGFyb3VuZCBHQ0MgLVdjbG9iYmVyZWQgd2FybmluZ3MgZm9yIGJ5dGVzdHJfZGF0YSBh bmQgdmVjdG9ycC4KLS0tCiBzcmMvYnl0ZWNvZGUuYyB8IDI0ICsrKysrKysrKysrKysrKysr KystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2J5dGVjb2RlLmMgYi9zcmMvYnl0ZWNvZGUuYwppbmRl eCBjZTA3NWM4NmFmZC4uNDhhMjljMjJkNTUgMTAwNjQ0Ci0tLSBhL3NyYy9ieXRlY29kZS5j CisrKyBiL3NyYy9ieXRlY29kZS5jCkBAIC0yOSwxMSArMjksNiBAQAogI2luY2x1ZGUgIndp bmRvdy5oIgogI2luY2x1ZGUgInB1cmVzaXplLmgiCiAKLS8qIFdvcmsgYXJvdW5kIEdDQyBi dWcgNTQ1NjEuICAqLwotI2lmIEdOVUNfUFJFUkVRICg0LCAzLCAwKQotIyBwcmFnbWEgR0ND IGRpYWdub3N0aWMgaWdub3JlZCAiLVdjbG9iYmVyZWQiCi0jZW5kaWYKLQogLyogRGVmaW5l IEJZVEVfQ09ERV9TQUZFIHRydWUgdG8gZW5hYmxlIHNvbWUgbWlub3Igc2FuaXR5IGNoZWNr aW5nLAogICAgdXNlZnVsIGZvciBkZWJ1Z2dpbmcgdGhlIGJ5dGUgY29tcGlsZXIuICBJdCBk ZWZhdWx0cyB0byBmYWxzZS4gICovCiAKQEAgLTUzNiw2ICs1MzEsMTIgQEAgZXhlY19ieXRl X2NvZGUgKExpc3BfT2JqZWN0IGZ1biwgcHRyZGlmZl90IGFyZ3NfdGVtcGxhdGUsCiAgICAg Zm9yIChwdHJkaWZmX3QgaSA9IG5hcmdzIC0gcmVzdDsgaSA8IG5vbnJlc3Q7IGkrKykKICAg ICAgIFBVU0ggKFFuaWwpOwogCisgIHVuc2lnbmVkIGNoYXIgdm9sYXRpbGUgc2F2ZWRfcXVp dGNvdW50ZXI7CisjaWYgR0NDX0xJTlQgJiYgX19HTlVDX18gJiYgIV9fY2xhbmdfXworICBM aXNwX09iamVjdCAqdm9sYXRpbGUgc2F2ZWRfdmVjdG9ycDsKKyAgdW5zaWduZWQgY2hhciBj b25zdCAqdm9sYXRpbGUgc2F2ZWRfYnl0ZXN0cl9kYXRhOworI2VuZGlmCisKICAgd2hpbGUg KHRydWUpCiAgICAgewogICAgICAgaW50IG9wOwpAQCAtOTY3LDE1ICs5NjgsMjMgQEAgI2Rl ZmluZSBERUZJTkUobmFtZSwgdmFsdWUpIFtuYW1lXSA9ICYmaW5zbl8gIyMgbmFtZSwKIAog CSAgICBpZiAoc3lzX3NldGptcCAoYy0+am1wKSkKIAkgICAgICB7CisJCXF1aXRjb3VudGVy ID0gc2F2ZWRfcXVpdGNvdW50ZXI7CiAJCXN0cnVjdCBoYW5kbGVyICpjID0gaGFuZGxlcmxp c3Q7CiAJCWhhbmRsZXJsaXN0ID0gYy0+bmV4dDsKIAkJdG9wID0gYy0+Ynl0ZWNvZGVfdG9w OwogCQlvcCA9IGMtPmJ5dGVjb2RlX2Rlc3Q7CisJCWJjID0gJmN1cnJlbnRfdGhyZWFkLT5i YzsKIAkJc3RydWN0IGJjX2ZyYW1lICpmcCA9IGJjLT5mcDsKIAogCQlMaXNwX09iamVjdCBm dW4gPSBmcC0+ZnVuOwogCQlMaXNwX09iamVjdCBieXRlc3RyID0gQVJFRiAoZnVuLCBDTE9T VVJFX0NPREUpOwogCQlMaXNwX09iamVjdCB2ZWN0b3IgPSBBUkVGIChmdW4sIENMT1NVUkVf Q09OU1RBTlRTKTsKKyNpZiBHQ0NfTElOVCAmJiBfX0dOVUNfXyAmJiAhX19jbGFuZ19fCisJ CS8qIFRoZXNlIHVzZWxlc3MgYXNzaWdubWVudHMgcGFjaWZ5IEdDQyAxNC4yLjEgeDg2LTY0 CisJCSAgIDxodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0y MTE2MT4uICAqLworCQlieXRlc3RyX2RhdGEgPSBzYXZlZF9ieXRlc3RyX2RhdGE7CisJCXZl Y3RvcnAgPSBzYXZlZF92ZWN0b3JwOworI2VuZGlmCiAJCWJ5dGVzdHJfZGF0YSA9IFNEQVRB IChieXRlc3RyKTsKIAkJdmVjdG9ycCA9IFhWRUNUT1IgKHZlY3RvciktPmNvbnRlbnRzOwog CQlpZiAoQllURV9DT0RFX1NBRkUpCkBAIC05ODksNiArOTk4LDExIEBAICNkZWZpbmUgREVG SU5FKG5hbWUsIHZhbHVlKSBbbmFtZV0gPSAmJmluc25fICMjIG5hbWUsCiAJCWdvdG8gb3Bf YnJhbmNoOwogCSAgICAgIH0KIAorCSAgICBzYXZlZF9xdWl0Y291bnRlciA9IHF1aXRjb3Vu dGVyOworI2lmIEdDQ19MSU5UICYmIF9fR05VQ19fICYmICFfX2NsYW5nX18KKwkgICAgc2F2 ZWRfdmVjdG9ycCA9IHZlY3RvcnA7CisJICAgIHNhdmVkX2J5dGVzdHJfZGF0YSA9IGJ5dGVz dHJfZGF0YTsKKyNlbmRpZgogCSAgICBORVhUOwogCSAgfQogCi0tIAoyLjQzLjAKCg== --------------mn3TuTGtrhrB7WKYEJDHNCFz Content-Type: text/x-patch; charset=UTF-8; name="0002-Don-t-ignore-Wclobbered-in-emacs-module.c.patch" Content-Disposition: attachment; filename="0002-Don-t-ignore-Wclobbered-in-emacs-module.c.patch" Content-Transfer-Encoding: base64 RnJvbSBjZmE1YTYzNGU5MWY1YzIzMmE3MWVjMjEyNjc5MTY1MDc0ZGM0ODBiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDE2IEF1ZyAyMDI0IDE2OjU5OjA4IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAyLzZdID0/VVRGLTg/cT9Eb249RTI9ODA9OTl0PTIwaWdub3JlPTIwLVdjbG9iYmVyZWQ9 MjBpbj89CiA9P1VURi04P3E/PTIwZW1hY3MtbW9kdWxlLmM/PQpNSU1FLVZlcnNpb246IDEu MApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAoKVGhpcyBmaXggaXMgYWxzbyBwcm9tcHRlZCBieSBFbWFj cyBidWcjNzE3NDQuCiogc3JjL2VtYWNzLW1vZHVsZS5jOiBEbyBub3QgaWdub3JlIC1XY2xv YmJlcmVkLgooTU9EVUxFX0hBTkRMRV9OT05MT0NBTF9FWElUKTogRml4IHZpb2xhdGlvbnMg b2YgdGhlIEMgc3RhbmRhcmQsCndoZXJlIHNldGptcCBjbG9iYmVyZWQgZW52IGFuZCBpbnRl cm5hbF9jbGVhbnVwLgoobW9kdWxlX2V4dHJhY3RfYmlnX2ludGVnZXIpIFtHQ0NfTElOVCAm JiBfX0dOVUNfXyAmJiAhX19jbGFuZ19fXToKV29yayBhcm91bmQgR0NDIC1XY2xvYmJlcmVk IGZhbHNlIHBvc2l0aXZlIGZvciDigJhzaWdu4oCZLgotLS0KIHNyYy9lbWFjcy1tb2R1bGUu YyB8IDI3ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE3 IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9lbWFj cy1tb2R1bGUuYyBiL3NyYy9lbWFjcy1tb2R1bGUuYwppbmRleCAwNWFhMGJhZWY3NC4uNWFh NGNmYTBhZTggMTAwNjQ0Ci0tLSBhL3NyYy9lbWFjcy1tb2R1bGUuYworKysgYi9zcmMvZW1h Y3MtbW9kdWxlLmMKQEAgLTk2LDExICs5Niw2IEBAIENvcHlyaWdodCAoQykgMjAxNS0yMDI0 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogI2luY2x1ZGUgPGludHByb3BzLmg+ CiAjaW5jbHVkZSA8dmVyaWZ5Lmg+CiAKLS8qIFdvcmsgYXJvdW5kIEdDQyBidWcgODMxNjIu ICAqLwotI2lmIEdOVUNfUFJFUkVRICg0LCAzLCAwKQotIyBwcmFnbWEgR0NDIGRpYWdub3N0 aWMgaWdub3JlZCAiLVdjbG9iYmVyZWQiCi0jZW5kaWYKLQogLyogV2UgdXNlIGRpZmZlcmVu dCBzdHJhdGVnaWVzIGZvciBhbGxvY2F0aW5nIHRoZSB1c2VyLXZpc2libGUgb2JqZWN0cwog ICAgKHN0cnVjdCBlbWFjc19ydW50aW1lLCBlbWFjc19lbnYsIGVtYWNzX3ZhbHVlKSwgZGVw ZW5kaW5nIG9uCiAgICB3aGV0aGVyIHRoZSB1c2VyIHN1cHBsaWVkIHRoZSAtbW9kdWxlLWFz c2VydGlvbnMgZmxhZy4gIElmCkBAIC0yNzMsMTQgKzI2OCwxNyBAQCAjZGVmaW5lIE1PRFVM RV9IQU5ETEVfTk9OTE9DQUxfRVhJVChyZXR2YWwpICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCiAgICAgICBtb2R1bGVfb3V0X29mX21lbW9yeSAoZW52KTsJCQkJCVwKICAgICAg IHJldHVybiByZXR2YWw7CQkJCQkJCVwKICAgICB9CQkJCQkJCQkJXAotICBzdHJ1Y3QgaGFu ZGxlciAqaW50ZXJuYWxfY2xlYW51cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICBlbWFjc19lbnYgKmVudl92b2xhdGlsZSA9IGVudjsJCQkJCVwKKyAgc3Ry dWN0IGhhbmRsZXIgKnZvbGF0aWxlIGludGVybmFsX2NsZWFudXAJCQkJXAogICAgID0gaW50 ZXJuYWxfaGFuZGxlcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAotICBpZiAoc3lzX3NldGptcCAoaW50ZXJuYWxfY2xlYW51cC0+am1wKSkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBpZiAoc3lzX3NldGptcCAoaW50 ZXJuYWxfaGFuZGxlci0+am1wKSkJCQkJXAogICAgIHsJCQkJCQkJCQlcCisgICAgICBlbWFj c19lbnYgKmVudiA9IGVudl92b2xhdGlsZTsJCQkJCVwKKyAgICAgIHN0cnVjdCBoYW5kbGVy ICppbnRlcm5hbF9oYW5kbGVyID0gaW50ZXJuYWxfY2xlYW51cDsJXAogICAgICAgbW9kdWxl X2hhbmRsZV9ub25sb2NhbF9leGl0IChlbnYsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbF9j bGVhbnVwLT5ub25sb2NhbF9leGl0LCAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnRlcm5hbF9jbGVhbnVwLT52YWwpOyAgICAgICAgICAgICAgXAotICAg ICAgbW9kdWxlX3Jlc2V0X2hhbmRsZXJsaXN0IChpbnRlcm5hbF9jbGVhbnVwKTsJCQlcCisJ CQkJICAgaW50ZXJuYWxfaGFuZGxlci0+bm9ubG9jYWxfZXhpdCwgICAgIFwKKwkJCQkgICBp bnRlcm5hbF9oYW5kbGVyLT52YWwpOyAgICAgICAgICAgICAgXAorICAgICAgbW9kdWxlX3Jl c2V0X2hhbmRsZXJsaXN0IChpbnRlcm5hbF9oYW5kbGVyKTsJCQlcCiAgICAgICByZXR1cm4g cmV0dmFsOwkJCQkJCQlcCiAgICAgfQkJCQkJCQkJCVwKICAgZG8geyB9IHdoaWxlIChmYWxz ZSkKQEAgLTEwNDUsNiArMTA0MywxNSBAQCB2ZXJpZnkgKChzaXplb2YgKGVtYWNzX2xpbWJf dCkgPT0gNCAmJiBFTUFDU19MSU1CX01BWCA9PSAweEZGRkZGRkZGKQogbW9kdWxlX2V4dHJh Y3RfYmlnX2ludGVnZXIgKGVtYWNzX2VudiAqZW52LCBlbWFjc192YWx1ZSBhcmcsIGludCAq c2lnbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHJkaWZmX3QgKmNvdW50LCBl bWFjc19saW1iX3QgKm1hZ25pdHVkZSkKIHsKKyNpZiBHQ0NfTElOVCAmJiBfX0dOVUNfXyAm JiAhX19jbGFuZ19fCisgIC8qIFRoZXNlIHVzZWxlc3MgYXNzaWdubWVudHMgcGFjaWZ5IEdD QyAxNC4yLjEgeDg2LTY0CisgICAgIDxodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3No b3dfYnVnLmNnaT9pZD0yMTE2MT4uICAqLworICB7CisgICAgaW50ICp2b2xhdGlsZSBzaWdu X3ZvbGF0aWxlID0gc2lnbjsKKyAgICBzaWduID0gc2lnbl92b2xhdGlsZTsKKyAgfQorI2Vu ZGlmCisKICAgTU9EVUxFX0ZVTkNUSU9OX0JFR0lOIChmYWxzZSk7CiAgIExpc3BfT2JqZWN0 IG8gPSB2YWx1ZV90b19saXNwIChhcmcpOwogICBDSEVDS19JTlRFR0VSIChvKTsKLS0gCjIu NDMuMAoK --------------mn3TuTGtrhrB7WKYEJDHNCFz Content-Type: text/x-patch; charset=UTF-8; name="0003-Don-t-ignore-Wclobbered-in-eval.c.patch" Content-Disposition: attachment; filename="0003-Don-t-ignore-Wclobbered-in-eval.c.patch" Content-Transfer-Encoding: base64 RnJvbSAxMjgyNzE0ZGE1NWNkNGJiYzFjN2YyZTQ5ZWRlYjQzNTAzNDI3ZTVlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDE2IEF1ZyAyMDI0IDE3OjA4OjM2IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAzLzZdID0/VVRGLTg/cT9Eb249RTI9ODA9OTl0PTIwaWdub3JlPTIwLVdjbG9iYmVyZWQ9 MjBpbj89CiA9P1VURi04P3E/PTIwZXZhbC5jPz0KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVu dC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClRoaXMgZml4IGlzIGFsc28gcHJvbXB0ZWQgYnkgRW1hY3MgYnVnIzcx NzQ0LgoqIHNyYy9ldmFsLmMgKENBQ0hFQUJMRSk6IFJlbW92ZS4gIEFsbCB1c2VzIHJlbW92 ZWQuCkRvIG5vdCBpZ25vcmUgLVdjbG9iYmVyZWQuCihpbnRlcm5hbF9saXNwX2NvbmRpdGlv bl9jYXNlKTogRml4IHZpb2xhdGlvbnMgb2YgdGhlIEMgc3RhbmRhcmQsCndoZXJlIHNldGpt cCBjbG9iYmVyZWQgb2xkaGFuZGxlcmxpc3QsIHZhciwgYW5kIGNsYXVzZXMuClJld3JpdGUg dG8gcGFjaWZ5IEdDQywgYnkgdXNpbmcgYSBzZW50aW5lbCByYXRoZXIgdGhhbiBhIGNvdW50 LAp3aGljaCBHQ0MgaW5jb3JyZWN0bHkgY29tcGxhaW5lZCBhYm91dCwgYW5kIGJ5IGNvYWxl c2Npbmcgc29tZQpkdXBsaWNhdGUgY29kZS4gIElmIEdDQ19MSU5UICYmIF9fR05VQ19fICYm ICFfX2NsYW5nX18gYWRkIGEgdXNlbGVzcwphc3NpZ25tZW50IHRvIHBhY2lmeSBHQ0MuCi0t LQogc3JjL2V2YWwuYyB8IDEwOSArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyks IDYyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9ldmFsLmMgYi9zcmMvZXZhbC5j CmluZGV4IGI0MTAzYWNkMjhmLi5jZTdiMDhlODk0YSAxMDA2NDQKLS0tIGEvc3JjL2V2YWwu YworKysgYi9zcmMvZXZhbC5jCkBAIC0zMSwxNSArMzEsNiBAQCBDb3B5cmlnaHQgKEMpIDE5 ODUtMTk4NywgMTk5My0xOTk1LCAxOTk5LTIwMjQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LAogI2luY2x1ZGUgInBkdW1wZXIuaCIKICNpbmNsdWRlICJhdGltZXIuaCIKIAotLyogQ0FD SEVBQkxFIGlzIG9yZGluYXJpbHkgbm90aGluZywgZXhjZXB0IGl0IGlzICd2b2xhdGlsZScg aWYKLSAgIG5lY2Vzc2FyeSB0byBjYWpvbGUgR0NDIGludG8gbm90IHdhcm5pbmcgaW5jb3Jy ZWN0bHkgdGhhdCBhCi0gICB2YXJpYWJsZSBzaG91bGQgYmUgdm9sYXRpbGUuICAqLwotI2lm IGRlZmluZWQgR0NDX0xJTlQgfHwgZGVmaW5lZCBsaW50Ci0jIGRlZmluZSBDQUNIRUFCTEUg dm9sYXRpbGUKLSNlbHNlCi0jIGRlZmluZSBDQUNIRUFCTEUgLyogZW1wdHkgKi8KLSNlbmRp ZgotCiAvKiBOb24tbmlsIG1lYW5zIHJlY29yZCBhbGwgZnNldCdzIGFuZCBwcm92aWRlJ3Ms IHRvIGJlIHVuZG9uZQogICAgaWYgdGhlIGZpbGUgYmVpbmcgYXV0b2xvYWRlZCBpcyBub3Qg ZnVsbHkgbG9hZGVkLgogICAgVGhleSBhcmUgcmVjb3JkZWQgYnkgYmVpbmcgY29uc2VkIG9u dG8gdGhlIGZyb250IG9mIFZhdXRvbG9hZF9xdWV1ZToKQEAgLTQzMCw3ICs0MjEsNyBAQCBE RUZVTiAoInByb2duIiwgRnByb2duLCBTcHJvZ24sIDAsIFVORVZBTExFRCwgMCwKIHVzYWdl OiAocHJvZ24gQk9EWS4uLikgICovKQogICAoTGlzcF9PYmplY3QgYm9keSkKIHsKLSAgTGlz cF9PYmplY3QgQ0FDSEVBQkxFIHZhbCA9IFFuaWw7CisgIExpc3BfT2JqZWN0IHZhbCA9IFFu aWw7CiAKICAgd2hpbGUgKENPTlNQIChib2R5KSkKICAgICB7CkBAIC0xMjU3LDEyICsxMjQ4 LDYgQEAgREVGVU4gKCJjYXRjaCIsIEZjYXRjaCwgU2NhdGNoLCAxLCBVTkVWQUxMRUQsIDAs CiAgIHJldHVybiBpbnRlcm5hbF9jYXRjaCAodGFnLCBGcHJvZ24sIFhDRFIgKGFyZ3MpKTsK IH0KIAotLyogV29yayBhcm91bmQgR0NDIGJ1ZyA2MTExOAotICAgPGh0dHBzOi8vZ2NjLmdu dS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTYxMTE4Pi4gICovCi0jaWYgR05VQ19Q UkVSRVEgKDQsIDksIDApCi0jIHByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Ns b2JiZXJlZCIKLSNlbmRpZgotCiAvKiBBc3NlcnQgdGhhdCBFIGlzIHRydWUsIGJ1dCBkbyBu b3QgZXZhbHVhdGUgRS4gIFVzZSB0aGlzIGluc3RlYWQgb2YKICAgIGVhc3NlcnQgKEUpIHdo ZW4gRSBjb250YWlucyB2YXJpYWJsZXMgdGhhdCBtaWdodCBiZSBjbG9iYmVyZWQgYnkgYQog ICAgbG9uZ2ptcC4gICovCkBAIC0xNDg4LDggKzE0NzMsMTAgQEAgREVGVU4gKCJoYW5kbGVy LWJpbmQtMSIsIEZoYW5kbGVyX2JpbmRfMSwgU2hhbmRsZXJfYmluZF8xLCAxLCBNQU5ZLCAw LAogaW50ZXJuYWxfbGlzcF9jb25kaXRpb25fY2FzZSAoTGlzcF9PYmplY3QgdmFyLCBMaXNw X09iamVjdCBib2R5Zm9ybSwKIAkJCSAgICAgIExpc3BfT2JqZWN0IGhhbmRsZXJzKQogewot ICBzdHJ1Y3QgaGFuZGxlciAqb2xkaGFuZGxlcmxpc3QgPSBoYW5kbGVybGlzdDsKLSAgcHRy ZGlmZl90IENBQ0hFQUJMRSBjbGF1c2VuYiA9IDA7CisgIHN0cnVjdCBoYW5kbGVyICp2b2xh dGlsZSBvbGRoYW5kbGVybGlzdCA9IGhhbmRsZXJsaXN0OworCisgIC8qIFRoZSBudW1iZXIg b2Ygbm9uLXN1Y2Nlc3MgaGFuZGxlcnMsIHBsdXMgMSBmb3IgYSBzZW50aW5lbC4gICovCisg IHB0cmRpZmZfdCBjbGF1c2VuYiA9IDE7CiAKICAgdmFyID0gbWF5YmVfcmVtb3ZlX3Bvc19m cm9tX3N5bWJvbCAodmFyKTsKICAgQ0hFQ0tfVFlQRSAoQkFSRV9TWU1CT0xfUCAodmFyKSwg UXN5bWJvbHAsIHZhcik7CkBAIC0xNTIxLDY5ICsxNTA4LDY3IEBAIGludGVybmFsX2xpc3Bf Y29uZGl0aW9uX2Nhc2UgKExpc3BfT2JqZWN0IHZhciwgTGlzcF9PYmplY3QgYm9keWZvcm0s CiAgICAgbWVtb3J5X2Z1bGwgKFNJWkVfTUFYKTsKICAgTGlzcF9PYmplY3Qgdm9sYXRpbGUg KmNsYXVzZXMgPSBhbGxvY2EgKGNsYXVzZW5iICogc2l6ZW9mICpjbGF1c2VzKTsKICAgY2xh dXNlcyArPSBjbGF1c2VuYjsKKyAgKi0tY2xhdXNlcyA9IG1ha2VfZml4bnVtICgwKTsKICAg Zm9yIChMaXNwX09iamVjdCB0YWlsID0gaGFuZGxlcnM7IENPTlNQICh0YWlsKTsgdGFpbCA9 IFhDRFIgKHRhaWwpKQogICAgIHsKICAgICAgIExpc3BfT2JqZWN0IHRlbSA9IFhDQVIgKHRh aWwpOwogICAgICAgaWYgKCEoQ09OU1AgKHRlbSkgJiYgRVEgKFhDQVIgKHRlbSksIFFDc3Vj Y2VzcykpKQogCSotLWNsYXVzZXMgPSB0ZW07CiAgICAgfQotICBmb3IgKHB0cmRpZmZfdCBp ID0gMDsgaSA8IGNsYXVzZW5iOyBpKyspCisgIExpc3BfT2JqZWN0IHZvbGF0aWxlIHZhcl92 b2xhdGlsZSA9IHZhcjsKKyAgTGlzcF9PYmplY3QgdmFsLCBoYW5kbGVyX2JvZHk7CisgIGZv ciAoTGlzcF9PYmplY3Qgdm9sYXRpbGUgKnBjbCA9IGNsYXVzZXM7IDsgcGNsKyspCiAgICAg ewotICAgICAgTGlzcF9PYmplY3QgY2xhdXNlID0gY2xhdXNlc1tpXTsKKyAgICAgIGlmIChC QVNFX0VRICgqcGNsLCBtYWtlX2ZpeG51bSAoMCkpKQorCXsKKwkgIHZhbCA9IGV2YWxfc3Vi IChib2R5Zm9ybSk7CisJICBoYW5kbGVybGlzdCA9IG9sZGhhbmRsZXJsaXN0OworCSAgaWYg KE5JTFAgKHN1Y2Nlc3NfaGFuZGxlcikpCisJICAgIHJldHVybiB2YWw7CisjaWYgR0NDX0xJ TlQgJiYgX19HTlVDX18gJiYgIV9fY2xhbmdfXworCSAgLyogVGhpcyB1c2VsZXNzIGFzc2ln bm1lbnQgcGFjaWZpZXMgR0NDIDE0LjIuMSB4ODYtNjQKKwkgICAgIDxodHRwczovL2djYy5n bnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMTE2MT4uICAqLworCSAgdmFyID0g dmFyX3ZvbGF0aWxlOworI2VuZGlmCisJICBoYW5kbGVyX2JvZHkgPSBYQ0RSIChzdWNjZXNz X2hhbmRsZXIpOworCSAgYnJlYWs7CisJfQorICAgICAgTGlzcF9PYmplY3QgY2xhdXNlID0g KnBjbDsKICAgICAgIExpc3BfT2JqZWN0IGNvbmRpdGlvbiA9IENPTlNQIChjbGF1c2UpID8g WENBUiAoY2xhdXNlKSA6IFFuaWw7CiAgICAgICBpZiAoIUNPTlNQIChjb25kaXRpb24pKQog CWNvbmRpdGlvbiA9IGxpc3QxIChjb25kaXRpb24pOwogICAgICAgc3RydWN0IGhhbmRsZXIg KmMgPSBwdXNoX2hhbmRsZXIgKGNvbmRpdGlvbiwgQ09ORElUSU9OX0NBU0UpOworICAgICAg TGlzcF9PYmplY3Qgdm9sYXRpbGUgKmNsYXVzZXNfdm9sYXRpbGUgPSBjbGF1c2VzOwogICAg ICAgaWYgKHN5c19zZXRqbXAgKGMtPmptcCkpCiAJewotCSAgTGlzcF9PYmplY3QgdmFsID0g aGFuZGxlcmxpc3QtPnZhbDsKLQkgIExpc3BfT2JqZWN0IHZvbGF0aWxlICpjaG9zZW5fY2xh dXNlID0gY2xhdXNlczsKLQkgIGZvciAoc3RydWN0IGhhbmRsZXIgKmggPSBoYW5kbGVybGlz dC0+bmV4dDsgaCAhPSBvbGRoYW5kbGVybGlzdDsKLQkgICAgICAgaCA9IGgtPm5leHQpCisJ ICB2YXIgPSB2YXJfdm9sYXRpbGU7CisJICB2YWwgPSBoYW5kbGVybGlzdC0+dmFsOworCSAg TGlzcF9PYmplY3Qgdm9sYXRpbGUgKmNob3Nlbl9jbGF1c2UgPSBjbGF1c2VzX3ZvbGF0aWxl OworCSAgc3RydWN0IGhhbmRsZXIgKm9sZGggPSBvbGRoYW5kbGVybGlzdDsKKwkgIGZvciAo c3RydWN0IGhhbmRsZXIgKmggPSBoYW5kbGVybGlzdC0+bmV4dDsgaCAhPSBvbGRoOyBoID0g aC0+bmV4dCkKIAkgICAgY2hvc2VuX2NsYXVzZSsrOwotCSAgTGlzcF9PYmplY3QgaGFuZGxl cl9ib2R5ID0gWENEUiAoKmNob3Nlbl9jbGF1c2UpOwotCSAgaGFuZGxlcmxpc3QgPSBvbGRo YW5kbGVybGlzdDsKLQotCSAgaWYgKE5JTFAgKHZhcikpCi0JICAgIHJldHVybiBGcHJvZ24g KGhhbmRsZXJfYm9keSk7CisJICBoYW5kbGVyX2JvZHkgPSBYQ0RSICgqY2hvc2VuX2NsYXVz ZSk7CisJICBoYW5kbGVybGlzdCA9IG9sZGg7CiAKLQkgIExpc3BfT2JqZWN0IGhhbmRsZXJf dmFyID0gdmFyOwotCSAgaWYgKCFOSUxQIChWaW50ZXJuYWxfaW50ZXJwcmV0ZXJfZW52aXJv bm1lbnQpKQotCSAgICB7Ci0JICAgICAgdmFsID0gRmNvbnMgKEZjb25zICh2YXIsIHZhbCks Ci0JCQkgICBWaW50ZXJuYWxfaW50ZXJwcmV0ZXJfZW52aXJvbm1lbnQpOwotCSAgICAgIGhh bmRsZXJfdmFyID0gUWludGVybmFsX2ludGVycHJldGVyX2Vudmlyb25tZW50OwotCSAgICB9 Ci0KLQkgIC8qIEJpbmQgSEFORExFUl9WQVIgdG8gVkFMIHdoaWxlIGV2YWx1YXRpbmcgSEFO RExFUl9CT0RZLgotCSAgICAgVGhlIHVuYmluZF90byB1bmRvZXMganVzdCB0aGlzIGJpbmRp bmc7IHdob2V2ZXIgbG9uZ2p1bXBlZAotCSAgICAgdG8gdXMgdW53b3VuZCB0aGUgc3RhY2sg dG8gQy0+cGRsY291bnQgYmVmb3JlIHRocm93aW5nLiAgKi8KLQkgIHNwZWNwZGxfcmVmIGNv dW50ID0gU1BFQ1BETF9JTkRFWCAoKTsKLQkgIHNwZWNiaW5kIChoYW5kbGVyX3ZhciwgdmFs KTsKLQkgIHJldHVybiB1bmJpbmRfdG8gKGNvdW50LCBGcHJvZ24gKGhhbmRsZXJfYm9keSkp OworCSAgLyogV2hvZXZlciBsb25nanVtcGVkIHRvIHVzIHVud291bmQgdGhlIHN0YWNrIHRv IEMtPnBkbGNvdW50IGJlZm9yZQorCSAgICAgdGhyb3dpbmcsIHNvIHRoZSB1bmJpbmRfdG8g d2lsbCB1bmRvIGp1c3QgdGhpcyBiaW5kaW5nLiAgKi8KKwkgIGJyZWFrOwogCX0KICAgICB9 CiAKLSAgTGlzcF9PYmplY3QgQ0FDSEVBQkxFIHJlc3VsdCA9IGV2YWxfc3ViIChib2R5Zm9y bSk7Ci0gIGhhbmRsZXJsaXN0ID0gb2xkaGFuZGxlcmxpc3Q7Ci0gIGlmICghTklMUCAoc3Vj Y2Vzc19oYW5kbGVyKSkKLSAgICB7Ci0gICAgICBpZiAoTklMUCAodmFyKSkKLQlyZXR1cm4g RnByb2duIChYQ0RSIChzdWNjZXNzX2hhbmRsZXIpKTsKKyAgaWYgKE5JTFAgKHZhcikpCisg ICAgcmV0dXJuIEZwcm9nbiAoaGFuZGxlcl9ib2R5KTsKIAotICAgICAgTGlzcF9PYmplY3Qg aGFuZGxlcl92YXIgPSB2YXI7Ci0gICAgICBpZiAoIU5JTFAgKFZpbnRlcm5hbF9pbnRlcnBy ZXRlcl9lbnZpcm9ubWVudCkpCi0JewotCSAgcmVzdWx0ID0gRmNvbnMgKEZjb25zICh2YXIs IHJlc3VsdCksCi0JCSAgICAgICBWaW50ZXJuYWxfaW50ZXJwcmV0ZXJfZW52aXJvbm1lbnQp OwotCSAgaGFuZGxlcl92YXIgPSBRaW50ZXJuYWxfaW50ZXJwcmV0ZXJfZW52aXJvbm1lbnQ7 Ci0JfQotCi0gICAgICBzcGVjcGRsX3JlZiBjb3VudCA9IFNQRUNQRExfSU5ERVggKCk7Ci0g ICAgICBzcGVjYmluZCAoaGFuZGxlcl92YXIsIHJlc3VsdCk7Ci0gICAgICByZXR1cm4gdW5i aW5kX3RvIChjb3VudCwgRnByb2duIChYQ0RSIChzdWNjZXNzX2hhbmRsZXIpKSk7CisgIGlm ICghTklMUCAoVmludGVybmFsX2ludGVycHJldGVyX2Vudmlyb25tZW50KSkKKyAgICB7Cisg ICAgICB2YWwgPSBGY29ucyAoRmNvbnMgKHZhciwgdmFsKSwKKwkJICAgVmludGVybmFsX2lu dGVycHJldGVyX2Vudmlyb25tZW50KTsKKyAgICAgIHZhciA9IFFpbnRlcm5hbF9pbnRlcnBy ZXRlcl9lbnZpcm9ubWVudDsKICAgICB9Ci0gIHJldHVybiByZXN1bHQ7CisKKyAgc3BlY3Bk bF9yZWYgY291bnQgPSBTUEVDUERMX0lOREVYICgpOworICBzcGVjYmluZCAodmFyLCB2YWwp OworICByZXR1cm4gdW5iaW5kX3RvIChjb3VudCwgRnByb2duIChoYW5kbGVyX2JvZHkpKTsK IH0KIAogLyogQ2FsbCB0aGUgZnVuY3Rpb24gQkZVTiB3aXRoIG5vIGFyZ3VtZW50cywgY2F0 Y2hpbmcgZXJyb3JzIHdpdGhpbiBpdApAQCAtMTc0MCw3ICsxNzI1LDcgQEAgcHVzaF9oYW5k bGVyIChMaXNwX09iamVjdCB0YWdfY2hfdmFsLCBlbnVtIGhhbmRsZXJ0eXBlIGhhbmRsZXJ0 eXBlKQogc3RydWN0IGhhbmRsZXIgKgogcHVzaF9oYW5kbGVyX25vc2lnbmFsIChMaXNwX09i amVjdCB0YWdfY2hfdmFsLCBlbnVtIGhhbmRsZXJ0eXBlIGhhbmRsZXJ0eXBlKQogewotICBz dHJ1Y3QgaGFuZGxlciAqQ0FDSEVBQkxFIGMgPSBoYW5kbGVybGlzdC0+bmV4dGZyZWU7Cisg IHN0cnVjdCBoYW5kbGVyICpjID0gaGFuZGxlcmxpc3QtPm5leHRmcmVlOwogICBpZiAoIWMp CiAgICAgewogICAgICAgYyA9IG1hbGxvYyAoc2l6ZW9mICpjKTsKLS0gCjIuNDMuMAoK --------------mn3TuTGtrhrB7WKYEJDHNCFz Content-Type: text/x-patch; charset=UTF-8; name="0004-Don-t-ignore-Wclobbered-in-image.c.patch" Content-Disposition: attachment; filename="0004-Don-t-ignore-Wclobbered-in-image.c.patch" Content-Transfer-Encoding: base64 RnJvbSAzYjI0YWM1Mzg4NThkOTk0YTc0ODI2MzYxYTFhZjNmODAyZGQwNjVhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDE2IEF1ZyAyMDI0IDE3OjE5OjEyIC0wNzAwClN1YmplY3Q6IFtQQVRD SCA0LzZdID0/VVRGLTg/cT9Eb249RTI9ODA9OTl0PTIwaWdub3JlPTIwLVdjbG9iYmVyZWQ9 MjBpbj89CiA9P1VURi04P3E/PTIwaW1hZ2UuYz89Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVu Y29kaW5nOiA4Yml0CgpUaGlzIGZpeCBpcyBhbHNvIHByb21wdGVkIGJ5IEVtYWNzIGJ1ZyM3 MTc0NC4KKiBzcmMvaW1hZ2UuYzogRG8gbm90IGlnbm9yZSAtV2Nsb2JiZXJlZC4KKHBuZ19s b2FkX2JvZHkpOiBGaXggdmlvbGF0aW9ucyBvZiB0aGUgQyBzdGFuZGFyZCwgd2hlcmUgc2V0 am1wCmNsb2JiZXJlZCBjLiAgTW92ZSBtYXNrX2ltZyBkZWNsIHRvIHBhY2lmeSBHQ0MuCihq cGVnX2xvYWRfYm9keSk6IERvbuKAmXQgbWFrZSBmcCB2b2xhdGlsZTsgc29sdmUgdGhhdCBw cm9ibGVtIGluIGEKYmV0dGVyIHdheSwgdmlhIGEgbmV3IGZwX3ZvbGF0aWxlIGxvY2FsLiAg Rml4IHZpb2xhdGlvbnMgb2YgdGhlIEMKc3RhbmRhcmQsIHdoZXJlIHNldGptcCBjbG9iYmVy ZWQgbWdyLCBpbWcsIGFuZCB4aW1nLiAgSWYgX19HTlVDX18KJiYgIV9fY2xhbmdfXywgYWRk IHVzZWxlc3MgYXNzaWdubWVudHMgdG8gcGFjaWZ5IEdDQy4KLS0tCiBzcmMvaW1hZ2UuYyB8 IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmMvaW1hZ2UuYyBiL3NyYy9pbWFnZS5jCmluZGV4IDM5NjVhNmNlNmY4Li40ODY5 NGExMzM0MSAxMDA2NDQKLS0tIGEvc3JjL2ltYWdlLmMKKysrIGIvc3JjL2ltYWdlLmMKQEAg LTYzLDExICs2Myw2IEBAIENvcHlyaWdodCAoQykgMTk4OS0yMDI0IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgogI2luY2x1ZGUgVEVSTV9IRUFERVIKICNlbmRpZiAvKiBIQVZF X1dJTkRPV19TWVNURU0gKi8KIAotLyogV29yayBhcm91bmQgR0NDIGJ1ZyA1NDU2MS4gICov Ci0jaWYgR05VQ19QUkVSRVEgKDQsIDMsIDApCi0jIHByYWdtYSBHQ0MgZGlhZ25vc3RpYyBp Z25vcmVkICItV2Nsb2JiZXJlZCIKLSNlbmRpZgotCiAjaWZkZWYgSEFWRV9YX1dJTkRPV1MK IHR5cGVkZWYgc3RydWN0IHhfYml0bWFwX3JlY29yZCBCaXRtYXBfUmVjb3JkOwogI2lmbmRl ZiBVU0VfQ0FJUk8KQEAgLTgxODgsNyArODE4Myw3IEBAIHBuZ19sb2FkX2JvZHkgKHN0cnVj dCBmcmFtZSAqZiwgc3RydWN0IGltYWdlICppbWcsIHN0cnVjdCBwbmdfbG9hZF9jb250ZXh0 ICpjKQogICBib29sIHRyYW5zcGFyZW50X3A7CiAgIHN0cnVjdCBwbmdfbWVtb3J5X3N0b3Jh Z2UgdGJyOyAgLyogRGF0YSB0byBiZSByZWFkICovCiAgIHB0cmRpZmZfdCBuYnl0ZXM7Ci0g IEVtYWNzX1BpeF9Db250YWluZXIgeGltZywgbWFza19pbWcgPSBOVUxMOworICBFbWFjc19Q aXhfQ29udGFpbmVyIHhpbWc7CiAKICAgLyogRmluZCBvdXQgd2hhdCBmaWxlIHRvIGxvYWQu ICAqLwogICBzcGVjaWZpZWRfZmlsZSA9IGltYWdlX3NwZWNfdmFsdWUgKGltZy0+c3BlYywg UUNmaWxlLCBOVUxMKTsKQEAgLTgyNzksOSArODI3NCwxMiBAQCBwbmdfbG9hZF9ib2R5IChz dHJ1Y3QgZnJhbWUgKmYsIHN0cnVjdCBpbWFnZSAqaW1nLCBzdHJ1Y3QgcG5nX2xvYWRfY29u dGV4dCAqYykKIAogICAvKiBTZXQgZXJyb3IganVtcC1iYWNrLiAgV2UgY29tZSBiYWNrIGhl cmUgd2hlbiB0aGUgUE5HIGxpYnJhcnkKICAgICAgZGV0ZWN0cyBhbiBlcnJvci4gICovCisK KyAgc3RydWN0IHBuZ19sb2FkX2NvbnRleHQgKnZvbGF0aWxlIGNfdm9sYXRpbGUgPSBjOwog ICBpZiAoRkFTVF9TRVRKTVAgKFBOR19KTVBCVUYgKHBuZ19wdHIpKSkKICAgICB7CiAgICAg ZXJyb3I6CisgICAgICBjID0gY192b2xhdGlsZTsKICAgICAgIGlmIChjLT5wbmdfcHRyKQog CXBuZ19kZXN0cm95X3JlYWRfc3RydWN0ICgmYy0+cG5nX3B0ciwgJmMtPmluZm9fcHRyLCAm Yy0+ZW5kX2luZm8pOwogICAgICAgeGZyZWUgKGMtPnBpeGVscyk7CkBAIC04MjkxLDYgKzgy ODksMTMgQEAgcG5nX2xvYWRfYm9keSAoc3RydWN0IGZyYW1lICpmLCBzdHJ1Y3QgaW1hZ2Ug KmltZywgc3RydWN0IHBuZ19sb2FkX2NvbnRleHQgKmMpCiAgICAgICByZXR1cm4gMDsKICAg ICB9CiAKKyNpZiBHQ0NfTElOVCAmJiBfX0dOVUNfXyAmJiAhX19jbGFuZ19fCisgIC8qIFRo ZXNlIHVzZWxlc3MgYXNzaWdubWVudHMgcGFjaWZ5IEdDQyAxNC4yLjEgeDg2LTY0CisgICAg IDxodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMTE2MT4u ICAqLworICBjID0gY192b2xhdGlsZTsKKyAgZnAgPSBjLT5mcDsKKyNlbmRpZgorCiAgIC8q IFJlYWQgaW1hZ2UgaW5mby4gICovCiAgIGlmICghTklMUCAoc3BlY2lmaWVkX2RhdGEpKQog ICAgIHBuZ19zZXRfcmVhZF9mbiAocG5nX3B0ciwgJnRiciwgcG5nX3JlYWRfZnJvbV9tZW1v cnkpOwpAQCAtODQxNyw2ICs4NDIyLDcgQEAgcG5nX2xvYWRfYm9keSAoc3RydWN0IGZyYW1l ICpmLCBzdHJ1Y3QgaW1hZ2UgKmltZywgc3RydWN0IHBuZ19sb2FkX2NvbnRleHQgKmMpCiAK ICAgLyogQ3JlYXRlIGFuIGltYWdlIGFuZCBwaXhtYXAgc2VydmluZyBhcyBtYXNrIGlmIHRo ZSBQTkcgaW1hZ2UKICAgICAgY29udGFpbnMgYW4gYWxwaGEgY2hhbm5lbC4gICovCisgIEVt YWNzX1BpeF9Db250YWluZXIgbWFza19pbWcgPSBOVUxMOwogICBpZiAoY2hhbm5lbHMgPT0g NAogICAgICAgJiYgdHJhbnNwYXJlbnRfcAogICAgICAgJiYgIWltYWdlX2NyZWF0ZV94X2lt YWdlX2FuZF9waXhtYXAgKGYsIGltZywgd2lkdGgsIGhlaWdodCwgMSwKQEAgLTg5MTIsMTMg Kzg5MTgsMTMgQEAganBlZ19sb2FkX2JvZHkgKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0IGlt YWdlICppbWcsCiAJCXN0cnVjdCBteV9qcGVnX2Vycm9yX21nciAqbWdyKQogewogICBMaXNw X09iamVjdCBzcGVjaWZpZWRfZmlsZSwgc3BlY2lmaWVkX2RhdGE7Ci0gIEZJTEUgKnZvbGF0 aWxlIGZwID0gTlVMTDsKKyAgRklMRSAqZnAgPSBOVUxMOwogICBKU0FNUEFSUkFZIGJ1ZmZl cjsKICAgaW50IHJvd19zdHJpZGUsIHgsIHk7CiAgIGludCB3aWR0aCwgaGVpZ2h0OwogICBp bnQgaSwgaXIsIGlnLCBpYjsKICAgdW5zaWduZWQgbG9uZyAqY29sb3JzOwotICBFbWFjc19Q aXhfQ29udGFpbmVyIHhpbWcgPSBOVUxMOworICBFbWFjc19QaXhfQ29udGFpbmVyIHZvbGF0 aWxlIHhpbWdfdm9sYXRpbGUgPSBOVUxMOwogCiAgIC8qIE9wZW4gdGhlIEpQRUcgZmlsZS4g ICovCiAgIHNwZWNpZmllZF9maWxlID0gaW1hZ2Vfc3BlY192YWx1ZSAoaW1nLT5zcGVjLCBR Q2ZpbGUsIE5VTEwpOwpAQCAtODk1Myw4ICs4OTU5LDE1IEBAIGpwZWdfbG9hZF9ib2R5IChz dHJ1Y3QgZnJhbWUgKmYsIHN0cnVjdCBpbWFnZSAqaW1nLAogICAgICBlcnJvciBpcyBkZXRl Y3RlZC4gIFRoaXMgZnVuY3Rpb24gd2lsbCBwZXJmb3JtIGEgbG9uZ2ptcC4gICovCiAgIG1n ci0+Y2luZm8uZXJyID0ganBlZ19zdGRfZXJyb3IgKCZtZ3ItPnB1Yik7CiAgIG1nci0+cHVi LmVycm9yX2V4aXQgPSBteV9lcnJvcl9leGl0OworICBzdHJ1Y3QgbXlfanBlZ19lcnJvcl9t Z3IgKnZvbGF0aWxlIG1ncl92b2xhdGlsZSA9IG1ncjsKKyAgc3RydWN0IGltYWdlICp2b2xh dGlsZSBpbWdfdm9sYXRpbGUgPSBpbWc7CisgIEZJTEUgKnZvbGF0aWxlIGZwX3ZvbGF0aWxl ID0gZnA7CiAgIGlmIChzeXNfc2V0am1wIChtZ3ItPnNldGptcF9idWZmZXIpKQogICAgIHsK KyAgICAgIG1nciA9IG1ncl92b2xhdGlsZTsKKyAgICAgIGltZyA9IGltZ192b2xhdGlsZTsK KyAgICAgIGZwID0gZnBfdm9sYXRpbGU7CisKICAgICAgIHN3aXRjaCAobWdyLT5mYWlsdXJl X2NvZGUpCiAJewogCWNhc2UgTVlfSlBFR19FUlJPUl9FWElUOgpAQCAtODk4MCw2ICs4OTkz LDcgQEAganBlZ19sb2FkX2JvZHkgKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0IGltYWdlICpp bWcsCiAgICAgICBqcGVnX2Rlc3Ryb3lfZGVjb21wcmVzcyAoJm1nci0+Y2luZm8pOwogCiAg ICAgICAvKiBJZiB3ZSBhbHJlYWR5IGhhdmUgYW4gWEltYWdlLCBmcmVlIHRoYXQuICAqLwor ICAgICAgRW1hY3NfUGl4X0NvbnRhaW5lciB4aW1nID0geGltZ192b2xhdGlsZTsKICAgICAg IGlmICh4aW1nKQogCWltYWdlX2Rlc3Ryb3lfeF9pbWFnZSAoeGltZyk7CiAgICAgICAvKiBG cmVlIHBpeG1hcCBhbmQgY29sb3JzLiAgKi8KQEAgLTg5ODcsNiArOTAwMSwxNCBAQCBqcGVn X2xvYWRfYm9keSAoc3RydWN0IGZyYW1lICpmLCBzdHJ1Y3QgaW1hZ2UgKmltZywKICAgICAg IHJldHVybiAwOwogICAgIH0KIAorI2lmIEdDQ19MSU5UICYmIF9fR05VQ19fICYmICFfX2Ns YW5nX18KKyAgLyogVGhlc2UgdXNlbGVzcyBhc3NpZ25tZW50cyBwYWNpZnkgR0NDIDE0LjIu MSB4ODYtNjQKKyAgICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcu Y2dpP2lkPTIxMTYxPi4gICovCisgIG1nciA9IG1ncl92b2xhdGlsZTsKKyAgaW1nID0gaW1n X3ZvbGF0aWxlOworICBmcCA9IGZwX3ZvbGF0aWxlOworI2VuZGlmCisKICAgLyogQ3JlYXRl IHRoZSBKUEVHIGRlY29tcHJlc3Npb24gb2JqZWN0LiAgTGV0IGl0IHJlYWQgZnJvbSBmcC4K IAkgUmVhZCB0aGUgSlBFRyBpbWFnZSBoZWFkZXIuICAqLwogICBqcGVnX0NyZWF0ZURlY29t cHJlc3MgKCZtZ3ItPmNpbmZvLCBKUEVHX0xJQl9WRVJTSU9OLCBzaXplb2YgKiZtZ3ItPmNp bmZvKTsKQEAgLTkwMTMsNyArOTAzNSwxMSBAQCBqcGVnX2xvYWRfYm9keSAoc3RydWN0IGZy YW1lICpmLCBzdHJ1Y3QgaW1hZ2UgKmltZywKICAgICB9CiAKICAgLyogQ3JlYXRlIFggaW1h Z2UgYW5kIHBpeG1hcC4gICovCi0gIGlmICghaW1hZ2VfY3JlYXRlX3hfaW1hZ2VfYW5kX3Bp eG1hcCAoZiwgaW1nLCB3aWR0aCwgaGVpZ2h0LCAwLCAmeGltZywgMCkpCisgIEVtYWNzX1Bp eF9Db250YWluZXIgeGltZzsKKyAgYm9vbCB4aW1nX29rID0gaW1hZ2VfY3JlYXRlX3hfaW1h Z2VfYW5kX3BpeG1hcCAoZiwgaW1nLCB3aWR0aCwgaGVpZ2h0LCAwLAorCQkJCQkJICAmeGlt ZywgMCk7CisgIHhpbWdfdm9sYXRpbGUgPSB4aW1nOworICBpZiAoIXhpbWdfb2spCiAgICAg ewogICAgICAgbWdyLT5mYWlsdXJlX2NvZGUgPSBNWV9KUEVHX0NBTk5PVF9DUkVBVEVfWDsK ICAgICAgIHN5c19sb25nam1wIChtZ3ItPnNldGptcF9idWZmZXIsIDEpOwotLSAKMi40My4w Cgo= --------------mn3TuTGtrhrB7WKYEJDHNCFz Content-Type: text/x-patch; charset=UTF-8; name="0005-Don-t-ignore-Wclobbered-in-keyboard.c.patch" Content-Disposition: attachment; filename="0005-Don-t-ignore-Wclobbered-in-keyboard.c.patch" Content-Transfer-Encoding: base64 RnJvbSBhOTY3ZWZkZDJhNWI3N2UzNTY1N2Y5YmRkNzA5OGI3OTI0MWUzYWE1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDE2IEF1ZyAyMDI0IDE3OjIwOjU4IC0wNzAwClN1YmplY3Q6IFtQQVRD SCA1LzZdID0/VVRGLTg/cT9Eb249RTI9ODA9OTl0PTIwaWdub3JlPTIwLVdjbG9iYmVyZWQ9 MjBpbj89CiA9P1VURi04P3E/PTIwa2V5Ym9hcmQuYz89Ck1JTUUtVmVyc2lvbjogMS4wCkNv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CgpUaGlzIGZpeGVzIEVtYWNzIGJ1ZyM3MTc0NC4KKiBzcmMva2V5 Ym9hcmQuYzogRG8gbm90IGlnbm9yZSAtV2Nsb2JiZXJlZC4KKHJlYWRfY2hhcik6IEZpeCB2 aW9sYXRpb24gb2YgdGhlIEMgc3RhbmRhcmQsIHdoZXJlIHNldGptcApjbG9iYmVyZWQgYy4g IEZpeCBzdWdnZXN0ZWQgYnkgUGlwIENldCBpbgo8aHR0cHM6Ly9kZWJidWdzLmdudS5vcmcv Y2dpL2J1Z3JlcG9ydC5jZ2k/YnVnPTcxNzQ0IzM4PgotLS0KIHNyYy9rZXlib2FyZC5jIHwg NyArLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDYgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2tleWJvYXJkLmMgYi9zcmMva2V5Ym9hcmQuYwppbmRl eCBiMzEyZDUyOWU1OS4uYjUxOWNjZGY5ZjAgMTAwNjQ0Ci0tLSBhL3NyYy9rZXlib2FyZC5j CisrKyBiL3NyYy9rZXlib2FyZC5jCkBAIC04OCwxMSArODgsNiBAQCBDb3B5cmlnaHQgKEMp IDE5ODUtMTk4OSwgMTk5My0xOTk3LCAxOTk5LTIwMjQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLAogI2luY2x1ZGUgVEVSTV9IRUFERVIKICNlbmRpZiAvKiBIQVZFX1dJTkRPV19TWVNU RU0gKi8KIAotLyogV29yayBhcm91bmQgR0NDIGJ1ZyA1NDU2MS4gICovCi0jaWYgR05VQ19Q UkVSRVEgKDQsIDMsIDApCi0jIHByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Ns b2JiZXJlZCIKLSNlbmRpZgotCiAjaWZkZWYgV0lORE9XU05UCiBjaGFyIGNvbnN0IERFVl9U VFlbXSA9ICJDT05PVVQkIjsKICNlbHNlCkBAIC0yNTIyLDcgKzI1MTcsNyBAQCByZWFkX2No YXIgKGludCBjb21tYW5kZmxhZywgTGlzcF9PYmplY3QgbWFwLAogCSAgIExpc3BfT2JqZWN0 IHByZXZfZXZlbnQsCiAJICAgYm9vbCAqdXNlZF9tb3VzZV9tZW51LCBzdHJ1Y3QgdGltZXNw ZWMgKmVuZF90aW1lKQogewotICBMaXNwX09iamVjdCBjOworICBMaXNwX09iamVjdCB2b2xh dGlsZSBjOwogICBzeXNfam1wX2J1ZiBsb2NhbF9nZXRjam1wOwogICBzeXNfam1wX2J1ZiBz YXZlX2p1bXA7CiAgIExpc3BfT2JqZWN0IHRlbSwgc2F2ZTsKLS0gCjIuNDMuMAoK --------------mn3TuTGtrhrB7WKYEJDHNCFz Content-Type: text/x-patch; charset=UTF-8; name="0006-Tune-volatile-in-read_char.patch" Content-Disposition: attachment; filename="0006-Tune-volatile-in-read_char.patch" Content-Transfer-Encoding: base64 RnJvbSA4YzgxODE4NjczYWU5ZmY3ODhjNmU2NWZiOTA5ODRmMzI3YjI3OTY0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDE2IEF1ZyAyMDI0IDE5OjAyOjU1IC0wNzAwClN1YmplY3Q6IFtQQVRD SCA2LzZdIFR1bmUgdm9sYXRpbGUgaW4gcmVhZF9jaGFyCgoqIHNyYy9rZXlib2FyZC5jIChy ZWFkX2NoYXIpOiBPcHRpbWl6ZSBhY2Nlc3MgdG8gYSBsb2NhbCB2b2xhdGlsZS4KLS0tCiBz cmMva2V5Ym9hcmQuYyB8IDIzICsrKysrKysrKysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hh bmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMva2V5Ym9hcmQuYyBiL3NyYy9rZXlib2FyZC5jCmluZGV4IGI1MTljY2RmOWYwLi4wZDM1 MDZiYzU5YiAxMDA2NDQKLS0tIGEvc3JjL2tleWJvYXJkLmMKKysrIGIvc3JjL2tleWJvYXJk LmMKQEAgLTI1MTcsNyArMjUxNyw3IEBAIHJlYWRfY2hhciAoaW50IGNvbW1hbmRmbGFnLCBM aXNwX09iamVjdCBtYXAsCiAJICAgTGlzcF9PYmplY3QgcHJldl9ldmVudCwKIAkgICBib29s ICp1c2VkX21vdXNlX21lbnUsIHN0cnVjdCB0aW1lc3BlYyAqZW5kX3RpbWUpCiB7Ci0gIExp c3BfT2JqZWN0IHZvbGF0aWxlIGM7CisgIExpc3BfT2JqZWN0IGM7CiAgIHN5c19qbXBfYnVm IGxvY2FsX2dldGNqbXA7CiAgIHN5c19qbXBfYnVmIHNhdmVfanVtcDsKICAgTGlzcF9PYmpl Y3QgdGVtLCBzYXZlOwpAQCAtMjc1Miw4ICsyNzUyLDEwIEBAIHJlYWRfY2hhciAoaW50IGNv bW1hbmRmbGFnLCBMaXNwX09iamVjdCBtYXAsCiAgICAgIGl0ICptdXN0IG5vdCogYmUgaW4g ZWZmZWN0IHdoZW4gd2UgY2FsbCByZWRpc3BsYXkuICAqLwogCiAgIHNwZWNwZGxfcmVmIGpt cGNvdW50ID0gU1BFQ1BETF9JTkRFWCAoKTsKKyAgTGlzcF9PYmplY3Qgdm9sYXRpbGUgY192 b2xhdGlsZTsKICAgaWYgKHN5c19zZXRqbXAgKGxvY2FsX2dldGNqbXApKQogICAgIHsKKyAg ICAgIGMgPSBjX3ZvbGF0aWxlOwogICAgICAgLyogSGFuZGxlIHF1aXRzIHdoaWxlIHJlYWRp bmcgdGhlIGtleWJvYXJkLiAgKi8KICAgICAgIC8qIFdlIG11c3QgaGF2ZSBzYXZlZCB0aGUg b3V0ZXIgdmFsdWUgb2YgZ2V0Y2ptcCBoZXJlLAogCSBzbyByZXN0b3JlIGl0IG5vdy4gICov CkBAIC0yNzk4LDYgKzI4MDAsMTMgQEAgcmVhZF9jaGFyIChpbnQgY29tbWFuZGZsYWcsIExp c3BfT2JqZWN0IG1hcCwKICAgICAgIGdvdG8gbm9uX3JlcmVhZDsKICAgICB9CiAKKyAgY192 b2xhdGlsZSA9IGM7CisjaWYgR0NDX0xJTlQgJiYgX19HTlVDX18gJiYgIV9fY2xhbmdfXwor ICAvKiBUaGlzIHVzZWxlc3MgYXNzaWdubWVudCBwYWNpZmllcyBHQ0MgMTQuMi4xIHg4Ni02 NAorICAgICA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9 MjExNjE+LiAgKi8KKyAgYyA9IGNfdm9sYXRpbGU7CisjZW5kaWYKKwogICAvKiBTdGFydCBp ZGxlIHRpbWVycyBpZiBubyB0aW1lIGxpbWl0IGlzIHN1cHBsaWVkLiAgV2UgZG9uJ3QgZG8g aXQKICAgICAgaWYgYSB0aW1lIGxpbWl0IGlzIHN1cHBsaWVkIHRvIGF2b2lkIGFuIGluZmlu aXRlIHJlY3Vyc2lvbiBpbiB0aGUKICAgICAgc2l0dWF0aW9uIHdoZXJlIGFuIGlkbGUgdGlt ZXIgY2FsbHMgYHNpdC1mb3InLiAgKi8KQEAgLTI5NTksNiArMjk2OCw4IEBAIHJlYWRfY2hh ciAoaW50IGNvbW1hbmRmbGFnLCBMaXNwX09iamVjdCBtYXAsCiAJICAgIH0KIAkgIHJlcmVh ZCA9IHRydWU7CiAJfQorCisgICAgICBjX3ZvbGF0aWxlID0gYzsKICAgICB9CiAKICAgLyog UmVhZCBzb21ldGhpbmcgZnJvbSBjdXJyZW50IEtCT0FSRCdzIHNpZGUgcXVldWUsIGlmIHBv c3NpYmxlLiAgKi8KQEAgLTI5NzAsNiArMjk4MSw3IEBAIHJlYWRfY2hhciAoaW50IGNvbW1h bmRmbGFnLCBMaXNwX09iamVjdCBtYXAsCiAJICBpZiAoIUNPTlNQIChLVkFSIChjdXJyZW50 X2tib2FyZCwga2JkX3F1ZXVlKSkpCiAJICAgIGVtYWNzX2Fib3J0ICgpOwogCSAgYyA9IFhD QVIgKEtWQVIgKGN1cnJlbnRfa2JvYXJkLCBrYmRfcXVldWUpKTsKKwkgIGNfdm9sYXRpbGUg PSBjOwogCSAga3NldF9rYmRfcXVldWUgKGN1cnJlbnRfa2JvYXJkLAogCQkJICBYQ0RSIChL VkFSIChjdXJyZW50X2tib2FyZCwga2JkX3F1ZXVlKSkpOwogCSAgaWYgKE5JTFAgKEtWQVIg KGN1cnJlbnRfa2JvYXJkLCBrYmRfcXVldWUpKSkKQEAgLTMwMjUsNiArMzAzNyw4IEBAIHJl YWRfY2hhciAoaW50IGNvbW1hbmRmbGFnLCBMaXNwX09iamVjdCBtYXAsCiAJICBjID0gWENE UiAoYyk7CiAJICByZWNvcmRlZCA9IHRydWU7CiAJfQorCisgICAgICBjX3ZvbGF0aWxlID0g YzsKICAgfQogCiAgbm9uX3JlcmVhZDoKQEAgLTMxMDgsNyArMzEyMiw3IEBAIHJlYWRfY2hh ciAoaW50IGNvbW1hbmRmbGFnLCBMaXNwX09iamVjdCBtYXAsCiAJICBkID0gRmFyZWYgKEtW QVIgKGN1cnJlbnRfa2JvYXJkLCBWa2V5Ym9hcmRfdHJhbnNsYXRlX3RhYmxlKSwgYyk7CiAJ ICAvKiBuaWwgaW4ga2V5Ym9hcmQtdHJhbnNsYXRlLXRhYmxlIG1lYW5zIG5vIHRyYW5zbGF0 aW9uLiAgKi8KIAkgIGlmICghTklMUCAoZCkpCi0JICAgIGMgPSBkOworCSAgICBjX3ZvbGF0 aWxlID0gYyA9IGQ7CiAJfQogICAgIH0KIApAQCAtMzE0OCw2ICszMTYyLDcgQEAgcmVhZF9j aGFyIChpbnQgY29tbWFuZGZsYWcsIExpc3BfT2JqZWN0IG1hcCwKIAkgICAgICBWdW5yZWFk X2NvbW1hbmRfZXZlbnRzID0gRmNvbnMgKGMsIFZ1bnJlYWRfY29tbWFuZF9ldmVudHMpOwog CSAgICB9CiAJICBjID0gcG9zbjsKKwkgIGNfdm9sYXRpbGUgPSBjOwogCX0KICAgICB9CiAK QEAgLTMyNzMsNiArMzI4OCw3IEBAIHJlYWRfY2hhciAoaW50IGNvbW1hbmRmbGFnLCBMaXNw X09iamVjdCBtYXAsCiAJfQogICAgICAgLyogSXQgcmV0dXJuZWQgb25lIGV2ZW50IG9yIG1v cmUuICAqLwogICAgICAgYyA9IFhDQVIgKHRlbSk7CisgICAgICBjX3ZvbGF0aWxlID0gYzsK ICAgICAgIFZ1bnJlYWRfcG9zdF9pbnB1dF9tZXRob2RfZXZlbnRzCiAJPSBuY29uYzIgKFhD RFIgKHRlbSksIFZ1bnJlYWRfcG9zdF9pbnB1dF9tZXRob2RfZXZlbnRzKTsKICAgICB9CkBA IC0zMzQ3LDYgKzMzNjMsNyBAQCByZWFkX2NoYXIgKGludCBjb21tYW5kZmxhZywgTGlzcF9P YmplY3QgbWFwLAogICAgICAgZG8KIAl7CiAJICBjID0gcmVhZF9jaGFyICgwLCBRbmlsLCBR bmlsLCAwLCBOVUxMKTsKKwkgIGNfdm9sYXRpbGUgPSBjOwogCSAgaWYgKEVWRU5UX0hBU19Q QVJBTUVURVJTIChjKQogCSAgICAgICYmIEVRIChFVkVOVF9IRUFEX0tJTkQgKEVWRU5UX0hF QUQgKGMpKSwgUW1vdXNlX2NsaWNrKSkKIAkgICAgWFNFVENBUiAoaGVscF9mb3JtX3NhdmVk X3dpbmRvd19jb25maWdzLCBRbmlsKTsKQEAgLTMzNjAsNyArMzM3Nyw3IEBAIHJlYWRfY2hh ciAoaW50IGNvbW1hbmRmbGFnLCBMaXNwX09iamVjdCBtYXAsCiAJewogCSAgY2FuY2VsX2Vj aG9pbmcgKCk7CiAJICBkbwotCSAgICBjID0gcmVhZF9jaGFyICgwLCBRbmlsLCBRbmlsLCAw LCBOVUxMKTsKKwkgICAgY192b2xhdGlsZSA9IGMgPSByZWFkX2NoYXIgKDAsIFFuaWwsIFFu aWwsIDAsIE5VTEwpOwogCSAgd2hpbGUgKEJVRkZFUlAgKGMpKTsKIAl9CiAgICAgfQotLSAK Mi40My4wCgo= --------------mn3TuTGtrhrB7WKYEJDHNCFz--