From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42F58C2D0A3 for ; Tue, 10 Nov 2020 02:31:17 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A8252206F1 for ; Tue, 10 Nov 2020 02:31:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="PDNIGTmd"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="gHoHuVOc" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A8252206F1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=HcPls9aP3KZZfHcFhIGQC7i7G5ii1lki+m6Y35qvY88=; b=PDNIGTmdxr9duiH+i+MnO9Y2R 6wz+uTE5arDA5AiA0r+hWojU/bVGdT5e5PQd6epdaWiL3f+H59gs4WnI3qGlmn2Yr5gpKn8+hh8Ri KvcvzgXwxEfqON8ReEuVmy/OF8ffON+a06CreQTDDGeM9E/6ltlEGAsihj1Uy/0yKqcYrC0HmYjUe 8t0iwIHAsfoZLb9Bq2t/njlVczu554J/8DGySbQbvtzBHy6UNBmlZ1NLPz0JMDFCfbaNzLw197fA4 /NglbYaODcvSehM2X1AhwVS5cfVwawQqyPTqPD8jKEs2ktju82NssKlBt/Oz4UySQrFueaml6MTX7 F7ynb3AQg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kcJPt-0008A7-FM; Tue, 10 Nov 2020 02:29:53 +0000 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kcJPm-00087n-Of for linux-arm-kernel@lists.infradead.org; Tue, 10 Nov 2020 02:29:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604975385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=l6N9kLJEZw00t4oEwyOJU5MOUcho0W3yc7yyLi6tWGo=; b=gHoHuVOcUL1RV3SAcLh2OR2oaxIP80efv43jQKwkvXgf5vk2imUZ4OAEuj+c74lYhiJdMr XfodFukhrJqmkFz9ar8IuMXOt/a+sg/HzOmAnyMvCZXs18PK5CqU4Hv293sNJcTjNRg7hR cB2ko1TFFYE9On6J3eGFlp7KIvBun5I= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-30-czCRQyAWP7G68EG9XekIZA-1; Mon, 09 Nov 2020 21:29:41 -0500 X-MC-Unique: czCRQyAWP7G68EG9XekIZA-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 480E7186841D; Tue, 10 Nov 2020 02:29:38 +0000 (UTC) Received: from treble (ovpn-112-15.rdu2.redhat.com [10.10.112.15]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 02D1A3C04; Tue, 10 Nov 2020 02:29:32 +0000 (UTC) Date: Mon, 9 Nov 2020 20:29:24 -0600 From: Josh Poimboeuf To: Sami Tolvanen Subject: Re: [PATCH v6 22/25] x86/asm: annotate indirect jumps Message-ID: <20201110022924.tekltjo25wtrao7z@treble> References: <20201015102216.GB2611@hirez.programming.kicks-ass.net> <20201015203942.f3kwcohcwwa6lagd@treble> <20201020185217.ilg6w5l7ujau2246@treble> <20201021085606.GZ2628@hirez.programming.kicks-ass.net> <20201023173617.GA3021099@google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201109_212946_874252_D695F835 X-CRM114-Status: GOOD ( 42.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-arch , Kees Cook , "Paul E. McKenney" , Jann Horn , Peter Zijlstra , Greg Kroah-Hartman , Masahiro Yamada , the arch/x86 maintainers , Nick Desaulniers , kernel list , Steven Rostedt , linux-kbuild , clang-built-linux , linux-pci@vger.kernel.org, Kernel Hardening , Will Deacon , Linux ARM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCBOb3YgMDksIDIwMjAgYXQgMDM6MTE6NDFQTSAtMDgwMCwgU2FtaSBUb2x2YW5lbiB3 cm90ZToKPiBPbiBGcmksIE9jdCAyMywgMjAyMCBhdCAxMDozNiBBTSBTYW1pIFRvbHZhbmVuIDxz YW1pdG9sdmFuZW5AZ29vZ2xlLmNvbT4gd3JvdGU6Cj4gPgo+ID4gT24gV2VkLCBPY3QgMjEsIDIw MjAgYXQgMDU6MjI6NTlQTSAtMDcwMCwgU2FtaSBUb2x2YW5lbiB3cm90ZToKPiA+ID4gVGhlcmUg YXJlIGEgY291cGxlIG9mIGRpZmZlcmVuY2VzLCBsaWtlIHRoZSBmaXJzdCAidW5kZWZpbmVkIHN0 YWNrCj4gPiA+IHN0YXRlIiB3YXJuaW5nIHBvaW50aW5nIHRvIHNldF9icmluZ3VwX2lkdF9oYW5k bGVyLmNvbnN0cHJvcC4wKCkKPiA+ID4gaW5zdGVhZCBvZiBfX3N3aXRjaF90b19hc20oKS4gSSB0 cmllZCBydW5uaW5nIHRoaXMgd2l0aCAtLWJhY2t0cmFjZSwKPiA+ID4gYnV0IG9ianRvb2wgc2Vn ZmF1bHRzIGF0IHRoZSBmaXJzdCAuZW50cnkudGV4dCB3YXJuaW5nOgo+ID4KPiA+IExvb2tzIGxp a2UgaXQgc2VnZmF1bHRzIHdoZW4gY2FsbGluZyBCVF9GVU5DKCkgZm9yIGFuIGluc3RydWN0aW9u IHRoYXQKPiA+IGRvZXNuJ3QgaGF2ZSBhIHNlY3Rpb24gKD8pLiBBcHBseWluZyB0aGlzIHBhdGNo IGFsbG93cyBvYmp0b29sIHRvIGZpbmlzaAo+ID4gd2l0aCAtLWJhY2t0cmFjZToKPiA+Cj4gPiBk aWZmIC0tZ2l0IGEvdG9vbHMvb2JqdG9vbC9jaGVjay5jIGIvdG9vbHMvb2JqdG9vbC9jaGVjay5j Cj4gPiBpbmRleCBjMjE2ZGQ0ZDY2MmMuLjYxOGIwYzRmMjg5MCAxMDA2NDQKPiA+IC0tLSBhL3Rv b2xzL29ianRvb2wvY2hlY2suYwo+ID4gKysrIGIvdG9vbHMvb2JqdG9vbC9jaGVjay5jCj4gPiBA QCAtMjYwNCw3ICsyNjA0LDcgQEAgc3RhdGljIGludCB2YWxpZGF0ZV9icmFuY2goc3RydWN0IG9i anRvb2xfZmlsZSAqZmlsZSwgc3RydWN0IHN5bWJvbCAqZnVuYywKPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmV0ID0gdmFsaWRhdGVfYnJhbmNoKGZpbGUsIGZ1bmMsCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNu LT5qdW1wX2Rlc3QsIHN0YXRlKTsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aWYgKHJldCkgewo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm IChiYWNrdHJhY2UpCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aWYgKGJhY2t0cmFjZSAmJiBpbnNuLT5zZWMpCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBCVF9GVU5DKCIoYnJhbmNoKSIsIGluc24pOwo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KPiA+Cj4gPgo+ID4gUnVubmluZyBvYmp0b29s IC1iYXJmbGQgb24gYW4gYWxseWVzY29uZmlnK0xUTyB2bWxpbnV4Lm8gcHJpbnRzIG91dCB0aGUK PiA+IGZvbGxvd2luZywgaWdub3JpbmcgdGhlIGNyeXB0byB3YXJuaW5ncyBmb3Igbm93Ogo+IAo+ IE9LLCBJIHNwZW50IHNvbWUgdGltZSBsb29raW5nIGF0IHRoZXNlIHdhcm5pbmdzIGFuZCB0aGUg Y29uZmlncyBuZWVkZWQKPiB0byByZXByb2R1Y2UgdGhlbSB3aXRob3V0IGJ1aWxkaW5nIGFsbHll c2NvbmZpZzoKPiAKPiBDT05GSUdfWEVOCj4gCj4gX19zd2l0Y2hfdG9fYXNtKCkrMHgwOiB1bmRl ZmluZWQgc3RhY2sgc3RhdGUKPiAgIHhlbl9oeXBlcmNhbGxfc2V0X3RyYXBfdGFibGUoKSsweDA6 IDw9PT0gKHN5bSkKPiAKPiBDT05GSUdfWEVOX1BWCj4gCj4gLmVudHJ5LnRleHQrMHhmZmQ6IHNp YmxpbmcgY2FsbCBmcm9tIGNhbGxhYmxlIGluc3RydWN0aW9uIHdpdGgKPiBtb2RpZmllZCBzdGFj ayBmcmFtZQo+ICAgLmVudHJ5LnRleHQrMHhmY2I6IChicmFuY2gpCj4gICAuZW50cnkudGV4dCsw eGZiNTogKGFsdCkKPiAgIC5lbnRyeS50ZXh0KzB4ZmIwOiAoYWx0KQo+ICAgLmVudHJ5LnRleHQr MHhmNzg6IChicmFuY2gpCj4gICAuZW50cnkudGV4dCsweDljOiAoYnJhbmNoKQo+ICAgeGVuX3N5 c2NhbGxfdGFyZ2V0KCkrMHgxNTogKGJyYW5jaCkKPiAgIHhlbl9zeXNjYWxsX3RhcmdldCgpKzB4 MDogPD09PSAoc3ltKQo+IC5lbnRyeS50ZXh0KzB4MTc1NDogdW5zdXBwb3J0ZWQgaW5zdHJ1Y3Rp b24gaW4gY2FsbGFibGUgZnVuY3Rpb24KPiAgIC5lbnRyeS50ZXh0KzB4MTcxZDogKGJyYW5jaCkK PiAgIC5lbnRyeS50ZXh0KzB4MTcwNzogKGFsdCkKPiAgIC5lbnRyeS50ZXh0KzB4MTcwMTogKGFs dCkKPiAgIHhlbl9zeXNjYWxsMzJfdGFyZ2V0KCkrMHgxNTogKGJyYW5jaCkKPiAgIHhlbl9zeXNj YWxsMzJfdGFyZ2V0KCkrMHgwOiA8PT09IChzeW0pCj4gLmVudHJ5LnRleHQrMHgxNjM0OiByZWR1 bmRhbnQgQ0xECj4gCj4gQmFja3RyYWNlIGRvZXNu4oCZdCBwcmludCBvdXQgYW55dGhpbmcgdXNl ZnVsIGZvciB0aGUg4oCccmVkdW5kYW50IENMROKAnQo+IGVycm9yLCBidXQgaXQgb2NjdXJzIHdo ZW4gdmFsaWRhdGVfYnJhbmNoIGlzIGxvb2tpbmcgYXQKPiB4ZW5fc3lzZW50ZXJfdGFyZ2V0Lgo+ IAo+IGRvX3N1c3BlbmRfbG93bGV2ZWwoKSsweDExNjogc2libGluZyBjYWxsIGZyb20gY2FsbGFi bGUgaW5zdHJ1Y3Rpb24KPiB3aXRoIG1vZGlmaWVkIHN0YWNrIGZyYW1lCj4gICBkb19zdXNwZW5k X2xvd2xldmVsKCkrMHg5YTogKGJyYW5jaCkKPiAgIGRvX3N1c3BlbmRfbG93bGV2ZWwoKSsweDA6 IDw9PT0gKHN5bSkKPiAKPiAuZW50cnkudGV4dCsweDQ4OiBzdGFjayBzdGF0ZSBtaXNtYXRjaDog Y2ZhMT03LTggY2ZhMj0tMSswCj4gICAuYWx0aW5zdHJfcmVwbGFjZW1lbnQrMHhmZmZmZmZmZmZm ZmZmZmZmOiAoYnJhbmNoKQo+ICAgLmVudHJ5LnRleHQrMHgyMTogKGFsdCkKPiAgIC5lbnRyeS50 ZXh0KzB4MWM6IChhbHQpCj4gICAuZW50cnkudGV4dCsweDEwOiA8PT09IChoaW50KQo+IC5lbnRy eS50ZXh0KzB4MTVmZDogc3RhY2sgc3RhdGUgbWlzbWF0Y2g6IGNmYTE9Ny04IGNmYTI9LTErMAo+ ICAgLmFsdGluc3RyX3JlcGxhY2VtZW50KzB4ZmZmZmZmZmZmZmZmZmZmZjogKGJyYW5jaCkKPiAg IC5lbnRyeS50ZXh0KzB4MTVkYzogKGFsdCkKPiAgIC5lbnRyeS50ZXh0KzB4MTVkNzogKGFsdCkK PiAgIC5lbnRyeS50ZXh0KzB4MTVkMDogPD09PSAoaGludCkKPiAuZW50cnkudGV4dCsweDE2OGM6 IHN0YWNrIHN0YXRlIG1pc21hdGNoOiBjZmExPTctOCBjZmEyPS0xKzAKPiAgIC5hbHRpbnN0cl9y ZXBsYWNlbWVudCsweGZmZmZmZmZmZmZmZmZmZmY6IChicmFuY2gpCj4gICAuZW50cnkudGV4dCsw eDE2NmI6IChhbHQpCj4gICAuZW50cnkudGV4dCsweDE2NjY6IChhbHQpCj4gICAuZW50cnkudGV4 dCsweDE2NjA6IDw9PT0gKGhpbnQpCgpJIGNhbid0IG1ha2UgbXVjaCBzZW5zZSBvZiBtb3N0IG9m IHRoZXNlIHdhcm5pbmdzLiAgRGlzYXNzZW1ibHkgd291bGQKaGVscC4KCihBbHNvLCBzb21ldGhp bmcgbGlrZSB0aGUgcGF0Y2ggYmVsb3cgc2hvdWxkIGhlbHAgb2JqdG9vbCBzaG93IG1vcmUKc3lt Ym9sIG5hbWVzLikKCj4gSXQgbG9va3MgbGlrZSB0aGUgc3RhY2sgc3RhdGUgbWlzbWF0Y2ggd2Fy bmluZ3MgY2FuIGJlIGZpeGVkIGJ5IGFkZGluZwo+IHVud2luZCBoaW50cyBhbHNvIHRvIGVudHJ5 X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSwKPiBlbnRyeV9TWVNFTlRFUl9jb21wYXRfYWZ0ZXJf aHdmcmFtZSwgYW5kCj4gZW50cnlfU1lTQ0FMTF9jb21wYXRfYWZ0ZXJfaHdmcmFtZS4gRG9lcyB0 aGF0IHNvdW5kIGNvcnJlY3Q/CgpObywgdGhvc2UgY29kZSBwYXRocyBzaG91bGQgYWxyZWFkeSBo YXZlIHRoZSBoaW50cyB0aGV5IG5lZWQsIHVubGVzcyBJJ20KbWlzc2luZyBzb21ldGhpbmcuCgo+ IENPTkZJR19BTURfTUVNX0VOQ1JZUFQKPiAKPiAuaGVhZC50ZXh0KzB4ZmI6IHVuc3VwcG9ydGVk IGluc3RydWN0aW9uIGluIGNhbGxhYmxlIGZ1bmN0aW9uCj4gICAuaGVhZC50ZXh0KzB4MjA3OiAo YnJhbmNoKQo+ICAgc2V2X2VzX3BsYXlfZGVhZCgpKzB4ZmY6IChicmFuY2gpCj4gICBzZXZfZXNf cGxheV9kZWFkKCkrMHhkMjogKGJyYW5jaCkKPiAgIHNldl9lc19wbGF5X2RlYWQoKSsweGE4OiAo YWx0KQo+ICAgc2V2X2VzX3BsYXlfZGVhZCgpKzB4MTQ0OiAoYnJhbmNoKQo+ICAgc2V2X2VzX3Bs YXlfZGVhZCgpKzB4MTBiOiAoYnJhbmNoKQo+ICAgc2V2X2VzX3BsYXlfZGVhZCgpKzB4MWY6IChi cmFuY2gpCj4gICBzZXZfZXNfcGxheV9kZWFkKCkrMHgwOiA8PT09IChzeW0pCj4gCj4gVGhpcyBo YXBwZW5zIGJlY2F1c2Ugc2V2X2VzX3BsYXlfZGVhZCBjYWxscyBzdGFydF9jcHUwLiBJdCBhbHdh eXMgaGFzLAo+IGJ1dCBvYmp0b29sIGhhc27igJl0IGJlZW4gYWJsZSB0byBmb2xsb3cgdGhlIGNh bGwgd2hlbiBwcm9jZXNzaW5nIG9ubHkKPiBzZXYtZXMuby4gQW55IHRob3VnaHRzIG9uIHRoZSBw cmVmZXJyZWQgd2F5IHRvIGZpeCB0aGlzIG9uZT8KCk9ianRvb2wgaXNuJ3Qgc3VwcG9zZWQgdG8g dHJhdmVyc2UgdGhyb3VnaCBjYWxsIGluc3RydWN0aW9ucyBsaWtlIHRoYXQuCklzIExUTyBpbmxp bmluZyB0aGUgY2FsbCBvciBzb21ldGhpbmc/Cgo+IENPTkZJR19DUllQVE9fQ1JDMzJDX0lOVEVM Cj4gCj4gX194ODZfcmV0cG9saW5lX3JkaSgpKzB4MTA6IHJldHVybiB3aXRoIG1vZGlmaWVkIHN0 YWNrIGZyYW1lCj4gICBfX3g4Nl9yZXRwb2xpbmVfcmRpKCkrMHgwOiAoYnJhbmNoKQo+ICAgLmFs dGluc3RyX3JlcGxhY2VtZW50KzB4MTQ3OiAoYnJhbmNoKQo+ICAgLnRleHQrMHhhZjRjNzogKGFs dCkKPiAgIC50ZXh0KzB4YjAzYjA6IChicmFuY2gpCj4gICAudGV4dCsweGFmNDgyOiAoYnJhbmNo KQo+ICAgY3JjX3BjbCgpKzB4MTA6IChicmFuY2gpCj4gICBjcmNfcGNsKCkrMHgwOiA8PT09IChz eW0pCj4gCj4gX194ODZfcmV0cG9saW5lX3JkaSgpKzB4MDogc3RhY2sgc3RhdGUgbWlzbWF0Y2g6 IGNmYTE9NyszMiBjZmEyPTcrOAo+ICAgLmFsdGluc3RyX3JlcGxhY2VtZW50KzB4MjY1OiAoYnJh bmNoKQo+ICAgX194ODZfaW5kaXJlY3RfdGh1bmtfcmRpKCkrMHgwOiAoYWx0KQo+ICAgX194ODZf aW5kaXJlY3RfdGh1bmtfcmRpKCkrMHgwOiA8PT09IChzeW0pCj4gCj4gVGhpcyBpcyBkaWZmZXJl bnQgZnJvbSB0aGUgd2FybmluZ3MgaW4gdGhlIHJlc3Qgb2YgdGhlIGFyY2gveDg2L2NyeXB0bwo+ IGNvZGUuIERvIHdlIG5lZWQgc29tZSBraW5kIG9mIGEgaGludCBiZWZvcmUgdGhlIEpNUF9OT1NQ RUMgaW4gY3JjX3BjbD8KCkknbGwgbmVlZCB0byBsb29rIG1vcmUgaW50byB0aGF0IG9uZS4KCj4g Q09ORklHX0ZVTkNUSU9OX1RSQUNFUgo+IAo+IF9feDg2X3JldHBvbGluZV9yZGkoKSsweDA6IHN0 YWNrIHN0YXRlIG1pc21hdGNoOiBjZmExPTcrMzIgY2ZhMj0tMSswCj4gICAuYWx0aW5zdHJfcmVw bGFjZW1lbnQrMHgxMTE6IChicmFuY2gpCj4gICAudGV4dCsweDI4YTU6IChhbHQpCj4gICAudGV4 dCsweDI4ODA6IDw9PT0gKGhpbnQpCj4gCj4gVGhpcyB1bndpbmQgaGludCBpcyBpbiByZXR1cm5f dG9faGFuZGxlci4gUmVtb3ZpbmcgaXQgb2J2aW91c2x5IHN0b3BzCj4gdGhlIHdhcm5pbmcgYW5k IGRvZXNu4oCZdCBzZWVtIHRvIHJlc3VsdCBpbiBhbnkgb3RoZXIgY29tcGxhaW50cyBmcm9tCj4g b2JqdG9vbC4gSXMgdGhpcyBoaW50IGNvcnJlY3Q/CgpUaGUgaGludCBpcyBzdXBwb3NlZCB0byBi ZSB0aGVyZS4gIEkgZG9uJ3QgdW5kZXJzdGFuZCB0aGlzIG9uZSBlaXRoZXIuCkRpZCBpdCBpbmxp bmUgdGhlIGNhbGwgdG8gZnRyYWNlX3JldHVybl90b19oYW5kbGVyKCk/Cgo+IFRoZSByZW1haW5p bmcgd2FybmluZ3MgYXJlIGFsbCDigJx1bnN1cHBvcnRlZCBzdGFjayBwb2ludGVyIHJlYWxpZ25t ZW504oCdCj4gaXNzdWVzIGluIHRoZSBjcnlwdG8gY29kZSBhbmQgY2FuIGJlIHJlcHJvZHVjZWQg d2l0aCB0aGUgZm9sbG93aW5nCj4gY29uZmlnczoKPiAKPiBDT05GSUdfQ1JZUFRPX0FFU19OSV9J TlRFTAo+IENPTkZJR19DUllQVE9fQ0FNRUxMSUFfQUVTTklfQVZYMl9YODZfNjQKPiBDT05GSUdf Q1JZUFRPX1NIQTFfU1NTRTMKPiBDT05GSUdfQ1JZUFRPX1NIQTI1Nl9TU1NFMwo+IENPTkZJR19D UllQVE9fU0hBNTEyX1NTU0UzCj4gCj4gSm9zaCwgaGF2ZSB5b3UgaGFkIGEgY2hhbmNlIHRvIGxv b2sgYXQgdGhlIGNyeXB0byBwYXRjaGVzIHlvdSBtZW50aW9uZWQgZWFybGllcj8KCkkndmUgYmVl biB0cmF2ZWxpbmcgZm9yIHNldmVyYWwgd2Vla3MsIGJ1dCBub3cgbXkgd29yayBzY2hlZHVsZSBp cwpnZXR0aW5nIG1vcmUgbm9ybWFsLCBzbyBJJ2xsIGhvcGVmdWxseSBiZSBhYmxlIHRvIHNwZW5k IHRpbWUgb24gdGhpcy4KCkhvdyB3b3VsZCBJIHJlY3JlYXRlIGFsbCB0aGVzZSB3YXJuaW5ncz8K CklzIGl0CgogIGh0dHBzOi8vZ2l0aHViLmNvbS9zYW1pdG9sdmFuZW4vbGludXguZ2l0IGx0by12 NgoKcGx1cyBhIGNlcnRhaW4gdmVyc2lvbiBvZiBjbGFuZz8KCkFsc28sIGFueSBkZXRhaWxzIG9u IGhvdyB0byBidWlsZCBjbGFuZyB3b3VsZCBiZSBhcHByZWNpYXRlZCwgaXQncyBiZWVuCmEgd2hp bGUgc2luY2UgSSB0cmllZC4KCgpIZXJlJ3MgdGhlIHBhdGNoIGZvciBob3BlZnVsbHkgbWFraW5n IHRoZSB3YXJuaW5ncyBtb3JlIGhlbHBmdWw6CgoKZGlmZiAtLWdpdCBhL3Rvb2xzL29ianRvb2wv Y2hlY2suYyBiL3Rvb2xzL29ianRvb2wvY2hlY2suYwppbmRleCBjNmFiNDQ1NDNjOTIuLmU1ZjVj YjEwNzY2NCAxMDA2NDQKLS0tIGEvdG9vbHMvb2JqdG9vbC9jaGVjay5jCisrKyBiL3Rvb2xzL29i anRvb2wvY2hlY2suYwpAQCAtMjQzMiw2ICsyNDMyLDkgQEAgc3RhdGljIGludCB2YWxpZGF0ZV9i cmFuY2goc3RydWN0IG9ianRvb2xfZmlsZSAqZmlsZSwgc3RydWN0IHN5bWJvbCAqZnVuYywKIAlz ZWMgPSBpbnNuLT5zZWM7CiAKIAl3aGlsZSAoMSkgeworCisJCWlmIChpbnNuLT5vZmZzZXQgPT0g MHg0OCkKKwkJCVdBUk5fRlVOQygieW8iLCBzZWMsIGluc24tPm9mZnNldCk7CiAJCW5leHRfaW5z biA9IG5leHRfaW5zbl9zYW1lX3NlYyhmaWxlLCBpbnNuKTsKIAogCQlpZiAoZmlsZS0+Y19maWxl ICYmIGZ1bmMgJiYgaW5zbi0+ZnVuYyAmJiBmdW5jICE9IGluc24tPmZ1bmMtPnBmdW5jKSB7CmRp ZmYgLS1naXQgYS90b29scy9vYmp0b29sL2VsZi5jIGIvdG9vbHMvb2JqdG9vbC9lbGYuYwppbmRl eCA0ZTFkNzQ2MDU3NGIuLmNlZDdlNDc1NGNiYSAxMDA2NDQKLS0tIGEvdG9vbHMvb2JqdG9vbC9l bGYuYworKysgYi90b29scy9vYmp0b29sL2VsZi5jCkBAIC0yMTcsNiArMjE3LDIxIEBAIHN0cnVj dCBzeW1ib2wgKmZpbmRfZnVuY19jb250YWluaW5nKHN0cnVjdCBzZWN0aW9uICpzZWMsIHVuc2ln bmVkIGxvbmcgb2Zmc2V0KQogCXJldHVybiBOVUxMOwogfQogCitzdHJ1Y3Qgc3ltYm9sICpmaW5k X3N5bWJvbF9wcmVjZWRpbmcoc3RydWN0IHNlY3Rpb24gKnNlYywgdW5zaWduZWQgbG9uZyBvZmZz ZXQpCit7CisJc3RydWN0IHN5bWJvbCAqc3ltOworCisJLyoKKwkgKiBUaGlzIGlzIHNsb3csIGJ1 dCB1c2VkIGZvciB3YXJuaW5nIG1lc3NhZ2VzLgorCSAqLworCXdoaWxlICgxKSB7CisJCXN5bSA9 IGZpbmRfc3ltYm9sX2J5X29mZnNldChzZWMsIG9mZnNldCk7CisJCWlmIChzeW0gfHwgIW9mZnNl dCkKKwkJCXJldHVybiBzeW07CisJCW9mZnNldC0tOworCX0KK30KKwogc3RydWN0IHN5bWJvbCAq ZmluZF9zeW1ib2xfYnlfbmFtZShjb25zdCBzdHJ1Y3QgZWxmICplbGYsIGNvbnN0IGNoYXIgKm5h bWUpCiB7CiAJc3RydWN0IHN5bWJvbCAqc3ltOwpkaWZmIC0tZ2l0IGEvdG9vbHMvb2JqdG9vbC9l bGYuaCBiL3Rvb2xzL29ianRvb2wvZWxmLmgKaW5kZXggODA3ZjhjNjcwMDk3Li44NDE5MDJlZDM4 MWUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL29ianRvb2wvZWxmLmgKKysrIGIvdG9vbHMvb2JqdG9vbC9l bGYuaApAQCAtMTM2LDEwICsxMzYsMTEgQEAgc3RydWN0IHN5bWJvbCAqZmluZF9mdW5jX2J5X29m ZnNldChzdHJ1Y3Qgc2VjdGlvbiAqc2VjLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CiBzdHJ1Y3Qg c3ltYm9sICpmaW5kX3N5bWJvbF9ieV9vZmZzZXQoc3RydWN0IHNlY3Rpb24gKnNlYywgdW5zaWdu ZWQgbG9uZyBvZmZzZXQpOwogc3RydWN0IHN5bWJvbCAqZmluZF9zeW1ib2xfYnlfbmFtZShjb25z dCBzdHJ1Y3QgZWxmICplbGYsIGNvbnN0IGNoYXIgKm5hbWUpOwogc3RydWN0IHN5bWJvbCAqZmlu ZF9zeW1ib2xfY29udGFpbmluZyhjb25zdCBzdHJ1Y3Qgc2VjdGlvbiAqc2VjLCB1bnNpZ25lZCBs b25nIG9mZnNldCk7CitzdHJ1Y3Qgc3ltYm9sICpmaW5kX2Z1bmNfY29udGFpbmluZyhzdHJ1Y3Qg c2VjdGlvbiAqc2VjLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CitzdHJ1Y3Qgc3ltYm9sICpmaW5k X3N5bWJvbF9wcmVjZWRpbmcoc3RydWN0IHNlY3Rpb24gKnNlYywgdW5zaWduZWQgbG9uZyBvZmZz ZXQpOwogc3RydWN0IHJlbG9jICpmaW5kX3JlbG9jX2J5X2Rlc3QoY29uc3Qgc3RydWN0IGVsZiAq ZWxmLCBzdHJ1Y3Qgc2VjdGlvbiAqc2VjLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CiBzdHJ1Y3Qg cmVsb2MgKmZpbmRfcmVsb2NfYnlfZGVzdF9yYW5nZShjb25zdCBzdHJ1Y3QgZWxmICplbGYsIHN0 cnVjdCBzZWN0aW9uICpzZWMsCiAJCQkJICAgICB1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWdu ZWQgaW50IGxlbik7Ci1zdHJ1Y3Qgc3ltYm9sICpmaW5kX2Z1bmNfY29udGFpbmluZyhzdHJ1Y3Qg c2VjdGlvbiAqc2VjLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CiBpbnQgZWxmX3JlYnVpbGRfcmVs b2Nfc2VjdGlvbihzdHJ1Y3QgZWxmICplbGYsIHN0cnVjdCBzZWN0aW9uICpzZWMpOwogCiAjZGVm aW5lIGZvcl9lYWNoX3NlYyhmaWxlLCBzZWMpCQkJCQkJXApkaWZmIC0tZ2l0IGEvdG9vbHMvb2Jq dG9vbC93YXJuLmggYi90b29scy9vYmp0b29sL3dhcm4uaAppbmRleCA3Nzk5ZjYwZGU4MGEuLjMz ZGEwZjJlZDlkNSAxMDA2NDQKLS0tIGEvdG9vbHMvb2JqdG9vbC93YXJuLmgKKysrIGIvdG9vbHMv b2JqdG9vbC93YXJuLmgKQEAgLTIyLDYgKzIyLDggQEAgc3RhdGljIGlubGluZSBjaGFyICpvZmZz dHIoc3RydWN0IHNlY3Rpb24gKnNlYywgdW5zaWduZWQgbG9uZyBvZmZzZXQpCiAJdW5zaWduZWQg bG9uZyBuYW1lX29mZjsKIAogCWZ1bmMgPSBmaW5kX2Z1bmNfY29udGFpbmluZyhzZWMsIG9mZnNl dCk7CisJaWYgKCFmdW5jKQorCQlmdW5jID0gZmluZF9zeW1ib2xfcHJlY2VkaW5nKHNlYywgb2Zm c2V0KTsKIAlpZiAoZnVuYykgewogCQluYW1lID0gZnVuYy0+bmFtZTsKIAkJbmFtZV9vZmYgPSBv ZmZzZXQgLSBmdW5jLT5vZmZzZXQ7CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=