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=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT 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 BD3A6C31E40 for ; Fri, 9 Aug 2019 17:17:34 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 8DC672085B for ; Fri, 9 Aug 2019 17:17:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8DC672085B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hw8Vd-0006Sl-R4; Fri, 09 Aug 2019 17:16:57 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hw8Vc-0006Sg-OU for xen-devel@lists.xenproject.org; Fri, 09 Aug 2019 17:16:56 +0000 X-Inumbo-ID: 7ae73012-bac9-11e9-b8b7-d71c11f92799 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 7ae73012-bac9-11e9-b8b7-d71c11f92799; Fri, 09 Aug 2019 17:16:52 +0000 (UTC) Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=andrew.cooper3@citrix.com; spf=Pass smtp.mailfrom=Andrew.Cooper3@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of andrew.cooper3@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="andrew.cooper3@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa4.hc3370-68.iphmx.com: domain of Andrew.Cooper3@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="Andrew.Cooper3@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Andrew.Cooper3@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: ky6IMFyRZdRg6+il/LxQM1EkeC7FARqauW2M9d3NOpQ8uLfBacdUkEXEWxkU9KnL0Ot7rJdpzn GggDk2LFI7v5gqOILMBJbSAXWXzIUzTs/AyHDsunyuQzALC6xfucRSxOZIjSVytAEes0tTVL7c EwxqD7uK5I7Td3YbCDpJ8QWXQcQI6zd7OzwcwdMCYt5zQtVtQCJJM79/L41b5QU/7jHTc9aaWA lImS67pR2OjXXs1lRNLAzgE0Yza3+FFzS4l6hTPGJVCNs7xRLTTKHKeSf7UXFWFMW3hHC4TKk0 owc= X-SBRS: 2.7 X-MesageID: 4282775 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,366,1559534400"; d="scan'208";a="4282775" From: Andrew Cooper To: Xen-devel Date: Fri, 9 Aug 2019 18:16:23 +0100 Message-ID: <20190809171623.25657-1-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Subject: [Xen-devel] [PATCH] x86/spec-ctrl: Scrub stale segment registers on leaky hardware X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Andrew Cooper , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" SW50ZWwgQ29yZS9YZW9uIENQVXMgaGF2ZSB0d28gcmVnaXN0ZXJzIHBlciBhcmNoaXRlY3R1cmFs IHNlZ21lbnQgcmVnaXN0ZXIsIHRvCmFsbG93IGZvciBzdWZmaWNpZW50IHNwZWN1bGF0aW9uIHRv IGNvdmVyIGEgdHlwaWNhbCBjb250ZXh0IHN3aXRjaCAob25lIHdyaXRlCnRvIGVhY2ggc2VnbWVu dCkuICBVbmZvcnR1bmF0ZWx5LCB0aGVzZSBDUFVzIHNwZWN1bGF0ZSBvdmVyIGEgZmF1bHRpbmcK ZGVzY3JpcHRvciBsb2FkLCBhbmQgZm9yIGEgcGVyaW9kIG9mIHRpbWUsIG9wZXJhdGUgd2l0aCB0 aGUgc3RhbGUgc2VnbWVudC4KClRoaXMgaW4gcHJhY3RpY2UgYWxsb3dzIG9uZSB2Y3B1IHRvIGFj Y2VzcyB0aGUgcHJldmlvdXMgdmNwdSdzIHNlZ21lbnQKcmVnaXN0ZXJzLiAgVGhlc2UgZGF0YSBk b24ndCBjb250YWluIHNlY3JldHMsIHNvIG5vIENWRSBoYXMgYmVlbiBhc3NpZ25lZCwgYnV0Cml0 IGlzIHBvdGVudGlhbGx5IHVzZWZ1bCBpbmZvcm1hdGlvbiBmb3IgbW91bnRpbmcgYSBkaWZmZXJl bnQgYXR0YWNrLgoKT24gY29udGV4dCBzd2l0Y2gsIHdyaXRlIGVhY2ggZGF0YSBzZWdtZW50IHJl Z2lzdGVyIHR3aWNlIHRvIHNjcnViIGFueSBzdGF0ZQpmcm9tIHRoZSBwcmV2aW91cyB2Y3B1LiAg T3RoZXIgcHJvcGVydGllcyBvZiAlY3MvJXNzIGxvYWRzIHByZXZlbnQgdGhvc2UKc2VnbWVudHMg ZnJvbSBiZWluZyBsZWFreS4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j b29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29t PgpDQzogV2VpIExpdSA8d2xAeGVuLm9yZz4KQ0M6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBh dUBjaXRyaXguY29tPgoKUkZDIGZvciBub3cuICBJJ3ZlIGRlbW9uc3RyYXRlZCBsZWFrYWdlIHdo ZW4gSSBwb3Npb24gaW4gWGVuIGFuZCByZWNvdmVyIGluIGFuCkhWTSBndWVzdC4gIEhvd2V2ZXIs IEkndmUgZmFpbGVkIHRvIGRlbW9uc3RyYXRlIGxlYWthZ2UgYmV0d2VlbiB0d28gSFZNCmd1ZXN0 cywgZGVzcGl0ZSBrbm93aW5nIHRoYXQgaXQgaXMgcG9zc2libGUuICBUaGVyZSBtYXkgYmUgb3Ro ZXIgbWl0aWdhdGluZwpmYWN0b3JzIGluIG91ciBjb250ZXh0IHN3aXRjaCBwYXRoIHdoaWNoIEkn dmUgeWV0IHRvIHNwb3QuCi0tLQogZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jIHwg IDggKysrLQogeGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICAgICAgICAgIHwgMjMgKysrKysrKysr KwogeGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgICAgICAgIHwgMjggKysrKysrKysrKysrCiB4 ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgICAgICAgICAgfCA5MiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYvc3BlY19jdHJsLmggICB8 ICAxICsKIDUgZmlsZXMgY2hhbmdlZCwgMTUwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jIGIvZG9jcy9t aXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCmluZGV4IDdjNzJlMzEwMzIuLjFjMDAzNDk1YTUg MTAwNjQ0Ci0tLSBhL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYworKysgYi9kb2Nz L21pc2MveGVuLWNvbW1hbmQtbGluZS5wYW5kb2MKQEAgLTE5MTQsNyArMTkxNCw3IEBAIEJ5IGRl ZmF1bHQgU1NCRCB3aWxsIGJlIG1pdGlnYXRlZCBhdCBydW50aW1lIChpLmUgYHNzYmQ9cnVudGlt ZWApLgogIyMjIHNwZWMtY3RybCAoeDg2KQogPiBgPSBMaXN0IG9mIFsgPGJvb2w+LCB4ZW49PGJv b2w+LCB7cHYsaHZtLG1zci1zYyxyc2IsbWQtY2xlYXJ9PTxib29sPiwKID4gICAgICAgICAgICAg IGJ0aS10aHVuaz1yZXRwb2xpbmV8bGZlbmNlfGptcCwge2licnMsaWJwYixzc2JkLGVhZ2VyLWZw dSwKLT4gICAgICAgICAgICAgIGwxZC1mbHVzaCxsMXRmLWJhcnJpZXJ9PTxib29sPiBdYAorPiAg ICAgICAgICAgICAgbDFkLWZsdXNoLHN0YWxlLXNlZy1jbGVhcixsMXRmLWJhcnJpZXJ9PTxib29s PiBdYAogCiBDb250cm9scyBmb3Igc3BlY3VsYXRpdmUgZXhlY3V0aW9uIHNpZGVjaGFubmVsIG1p dGlnYXRpb25zLiAgQnkgZGVmYXVsdCwgWGVuCiB3aWxsIHBpY2sgdGhlIG1vc3QgYXBwcm9wcmlh dGUgbWl0aWdhdGlvbnMgYmFzZWQgb24gY29tcGlsZWQgaW4gc3VwcG9ydCwKQEAgLTE5ODYsNiAr MTk4NiwxMiBAQCBJcnJlc3BlY3RpdmUgb2YgWGVuJ3Mgc2V0dGluZywgdGhlIGZlYXR1cmUgaXMg dmlydHVhbGlzZWQgZm9yIEhWTSBndWVzdHMgdG8KIHVzZS4gIEJ5IGRlZmF1bHQsIFhlbiB3aWxs IGVuYWJsZSB0aGlzIG1pdGlnYXRpb24gb24gaGFyZHdhcmUgYmVsaWV2ZWQgdG8gYmUKIHZ1bG5l cmFibGUgdG8gTDFURi4KIAorT24gYWxsIGhhcmR3YXJlLCB0aGUgYHN0YWxlLXNlZy1jbGVhcj1g IG9wdGlvbiBjYW4gYmUgdXNlZCB0byBmb3JjZSBvciBwcmV2ZW50CitYZW4gZnJvbSBjbGVhcmlu ZyB0aGUgbWljcm9hcmNoaXRlY3R1cmFsIHNlZ21lbnQgcmVnaXN0ZXIgY29waWVzIG9uIGNvbnRl eHQKK3N3aXRjaC4gIEJ5IGRlZmF1bHQsIFhlbiB3aWxsIGNob29zZSB0byB1c2Ugc3RhbGUgc2Vn bWVudCBjbGVhcmluZyBvbiBhZmZlY3RlZAoraGFyZHdhcmUuICBUaGUgY2xlYXJpbmcgbG9naWMg aXMgdHVuZWQgdG8gbWljcm9hcmNoaXRlY3R1cmFsIGRldGFpbHMgb2YgdGhlCithZmZlY3RlZCBD UFVzLgorCiBPbiBoYXJkd2FyZSB2dWxuZXJhYmxlIHRvIEwxVEYsIHRoZSBgbDF0Zi1iYXJyaWVy PWAgb3B0aW9uIGNhbiBiZSB1c2VkIHRvIGZvcmNlCiBvciBwcmV2ZW50IFhlbiBmcm9tIHByb3Rl Y3RpbmcgZXZhbHVhdGlvbnMgaW5zaWRlIHRoZSBoeXBlcnZpc29yIHdpdGggYSBiYXJyaWVyCiBp bnN0cnVjdGlvbiB0byBub3QgbG9hZCBwb3RlbnRpYWxseSBzZWNyZXQgaW5mb3JtYXRpb24gaW50 byBMMSBjYWNoZS4gIEJ5CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tYWluLmMgYi94ZW4v YXJjaC94ODYvZG9tYWluLmMKaW5kZXggNjEyYWZiNjgzZi4uMzljMzI1ODg5MyAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwpAQCAt MTMyOCw2ICsxMzI4LDI5IEBAIHN0YXRpYyB2b2lkIGxvYWRfc2VnbWVudHMoc3RydWN0IHZjcHUg Km4pCiAgICAgZGlydHlfc2VnbWVudF9tYXNrID0gcGVyX2NwdShkaXJ0eV9zZWdtZW50X21hc2ss IGNwdSk7CiAgICAgcGVyX2NwdShkaXJ0eV9zZWdtZW50X21hc2ssIGNwdSkgPSAwOwogCisgICAg LyoKKyAgICAgKiBDUFVzIHdoaWNoIHN1ZmZlciBmcm9tIHN0YWxlIHNlZ21lbnQgcmVnaXN0ZXIg bGVha2FnZSBoYXZlIHR3byBjb3BpZXMKKyAgICAgKiBvZiBlYWNoIHNlZ21lbnQgcmVnaXN0ZXIg W0NvcnJlY3QgYXQgdGhlIHRpbWUgb2Ygd3JpdGluZyAtIEF1ZyAyMDE5XS4KKyAgICAgKgorICAg ICAqIFdlIG11c3Qgd3JpdGUgdG8gYm90aCBvZiB0aGVtIHRvIHNjcnViIHN0YXRlIGZyb20gdGhl IHByZXZpb3VzIHZjcHUuCisgICAgICogSG93ZXZlciwgdHdvIHdyaXRlcyBpbiBxdWljayBzdWNj ZXNzaW9uIHN0YWxsIHRoZSBwaXBlbGluZSwgYXMgb25seSBvbmUKKyAgICAgKiB3cml0ZSBwZXIg c2VnbWVudCBjYW4gYmUgc3BlY3VsYXRpdmVseSBvdXRzdGFuZGluZy4KKyAgICAgKgorICAgICAq IFNwbGl0IHRoZSB0d28gc2V0cyBvZiB3cml0ZXMgdG8gZWFjaCByZWdpc3RlciB0byBtYXhpbWlz ZSB0aGUgY2hhbmNlCisgICAgICogdGhhdCB0aGVzZSB3cml0ZXMgaGF2ZSByZXRpcmVkIGJlZm9y ZSB0aGUgc2Vjb25kIHNldCBzdGFydHMsIHRodXMKKyAgICAgKiByZWR1Y2luZyB0aGUgY2hhbmNl IG9mIHN0YWxsaW5nLgorICAgICAqLworICAgIGlmICggb3B0X3N0YWxlX3NlZ19jbGVhciApCisg ICAgeworICAgICAgICBhc20gdm9sYXRpbGUgKCAibW92ICVbc2VsXSwgJSVkczsiCisgICAgICAg ICAgICAgICAgICAgICAgICJtb3YgJVtzZWxdLCAlJWVzOyIKKyAgICAgICAgICAgICAgICAgICAg ICAgIm1vdiAlW3NlbF0sICUlZnM7IgorICAgICAgICAgICAgICAgICAgICAgICAibW92ICVbc2Vs XSwgJSVnczsiCisgICAgICAgICAgICAgICAgICAgICAgIDo6IFtzZWxdICJyIiAoMCkgKTsKKyAg ICAgICAgLyogRm9yY2UgYSByZWxvYWQgb2YgYWxsIHNlZ21lbnRzIHRvIGJlIHRoZSBzZWNvbmQg c2NydWJiaW5nIHdyaXRlLiAqLworICAgICAgICBkaXJ0eV9zZWdtZW50X21hc2sgPSB+MDsKKyAg ICB9CisKICNpZmRlZiBDT05GSUdfSFZNCiAgICAgaWYgKCBjcHVfaGFzX3N2bSAmJiAhaXNfcHZf MzJiaXRfdmNwdShuKSAmJgogICAgICAgICAgIShyZWFkX2NyNCgpICYgWDg2X0NSNF9GU0dTQkFT RSkgJiYgISgodXJlZ3MtPmZzIHwgdXJlZ3MtPmdzKSAmIH4zKSApCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCmluZGV4 IDAwNjAzMTBkNzQuLmJmNTQ0ZmMyY2EgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14 L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC01Nyw2ICs1Nyw3IEBA CiAjaW5jbHVkZSA8YXNtL2V2ZW50Lmg+CiAjaW5jbHVkZSA8YXNtL21jZS5oPgogI2luY2x1ZGUg PGFzbS9tb25pdG9yLmg+CisjaW5jbHVkZSA8YXNtL3NwZWNfY3RybC5oPgogI2luY2x1ZGUgPHB1 YmxpYy9hcmNoLXg4Ni9jcHVpZC5oPgogCiBzdGF0aWMgYm9vbF90IF9faW5pdGRhdGEgb3B0X2Zv cmNlX2VwdDsKQEAgLTg3MiwxMSArODczLDM4IEBAIHN0YXRpYyB2b2lkIHZteF9jdHh0X3N3aXRj aF9mcm9tKHN0cnVjdCB2Y3B1ICp2KQogCiBzdGF0aWMgdm9pZCB2bXhfY3R4dF9zd2l0Y2hfdG8o c3RydWN0IHZjcHUgKnYpCiB7CisgICAgLyoKKyAgICAgKiBDUFVzIHdoaWNoIHN1ZmZlciBmcm9t IHN0YWxlIHNlZ21lbnQgcmVnaXN0ZXIgbGVha2FnZSBoYXZlIHR3byBjb3BpZXMKKyAgICAgKiBv ZiBlYWNoIHNlZ21lbnQgcmVnaXN0ZXIgW0NvcnJlY3QgYXQgdGhlIHRpbWUgb2Ygd3JpdGluZyAt IEF1ZyAyMDE5XS4KKyAgICAgKgorICAgICAqIFdlIG11c3Qgd3JpdGUgdG8gYm90aCBvZiB0aGVt IHRvIHNjcnViIHN0YXRlIGZyb20gdGhlIHByZXZpb3VzIHZjcHUuCisgICAgICogSG93ZXZlciwg dHdvIHdyaXRlcyBpbiBxdWljayBzdWNjZXNzaW9uIHN0YWxsIHRoZSBwaXBlbGluZSwgYXMgb25s eSBvbmUKKyAgICAgKiB3cml0ZSBwZXIgc2VnbWVudCBjYW4gYmUgc3BlY3VsYXRpdmVseSBvdXRz dGFuZGluZy4KKyAgICAgKgorICAgICAqIFNwbGl0IHRoZSB0d28gc2V0cyBvZiB3cml0ZXMgdG8g ZWFjaCByZWdpc3RlciB0byBtYXhpbWlzZSB0aGUgY2hhbmNlCisgICAgICogdGhhdCB0aGVzZSB3 cml0ZXMgaGF2ZSByZXRpcmVkIGJlZm9yZSB0aGUgc2Vjb25kIHNldCBzdGFydHMsIHRodXMKKyAg ICAgKiByZWR1Y2luZyB0aGUgY2hhbmNlIG9mIHN0YWxsaW5nLgorICAgICAqLworICAgIGlmICgg b3B0X3N0YWxlX3NlZ19jbGVhciApCisgICAgICAgIGFzbSB2b2xhdGlsZSAoICJtb3YgJVtzZWxd LCAlJWRzOyIKKyAgICAgICAgICAgICAgICAgICAgICAgIm1vdiAlW3NlbF0sICUlZXM7IgorICAg ICAgICAgICAgICAgICAgICAgICAibW92ICVbc2VsXSwgJSVmczsiCisgICAgICAgICAgICAgICAg ICAgICAgICJtb3YgJVtzZWxdLCAlJWdzOyIKKyAgICAgICAgICAgICAgICAgICAgICAgOjogW3Nl bF0gInIiICgwKSApOworCiAgICAgdm14X3Jlc3RvcmVfZ3Vlc3RfbXNycyh2KTsKICAgICB2bXhf cmVzdG9yZV9kcih2KTsKIAogICAgIGlmICggdi0+ZG9tYWluLT5hcmNoLmh2bS5waV9vcHMuZmxh Z3MgJiBQSV9DU1dfVE8gKQogICAgICAgICB2bXhfcGlfc3dpdGNoX3RvKHYpOworCisgICAgLyog U2hvdWxkIGJlIGxhc3QgaW4gdGhlIGZ1bmN0aW9uLiAgU2VlIGFib3ZlLiAqLworICAgIGlmICgg b3B0X3N0YWxlX3NlZ19jbGVhciApCisgICAgICAgIGFzbSB2b2xhdGlsZSAoICJtb3YgJVtzZWxd LCAlJWRzOyIKKyAgICAgICAgICAgICAgICAgICAgICAgIm1vdiAlW3NlbF0sICUlZXM7IgorICAg ICAgICAgICAgICAgICAgICAgICAibW92ICVbc2VsXSwgJSVmczsiCisgICAgICAgICAgICAgICAg ICAgICAgICJtb3YgJVtzZWxdLCAlJWdzOyIKKyAgICAgICAgICAgICAgICAgICAgICAgOjogW3Nl bF0gInIiICgwKSApOwogfQogCiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwu YyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwppbmRleCA0NjhhODQ3NTk4Li4zM2EwYTBmMDg5 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKKysrIGIveGVuL2FyY2gveDg2 L3NwZWNfY3RybC5jCkBAIC02Niw2ICs2Niw5IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgX19pbml0 ZGF0YSBsMWRfbWF4cGh5c2FkZHI7CiBzdGF0aWMgYm9vbCBfX2luaXRkYXRhIGNwdV9oYXNfYnVn X21zYmRzX29ubHk7IC8qID0+IG1pbmltYWwgSFQgaW1wYWN0LiAqLwogc3RhdGljIGJvb2wgX19p bml0ZGF0YSBjcHVfaGFzX2J1Z19tZHM7IC8qIEFueSBvdGhlciBNe0xQLFNCLEZCfURTIGNvbWJp bmF0aW9uLiAqLwogCitzdGF0aWMgYm9vbCBfX2luaXRkYXRhIGNwdV9oYXNfYnVnX3N0YWxlX3Nl ZzsKK2ludDhfdCBvcHRfc3RhbGVfc2VnX2NsZWFyID0gLTE7CisKIHN0YXRpYyBpbnQgX19pbml0 IHBhcnNlX3NwZWNfY3RybChjb25zdCBjaGFyICpzKQogewogICAgIGNvbnN0IGNoYXIgKnNzOwpA QCAtMTExLDYgKzExNCw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX3NwZWNfY3RybChjb25z dCBjaGFyICpzKQogICAgICAgICAgICAgb3B0X2licGIgPSBmYWxzZTsKICAgICAgICAgICAgIG9w dF9zc2JkID0gZmFsc2U7CiAgICAgICAgICAgICBvcHRfbDFkX2ZsdXNoID0gMDsKKyAgICAgICAg ICAgIG9wdF9zdGFsZV9zZWdfY2xlYXIgPSAwOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYg KCB2YWwgPiAwICkKICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKQEAgLTE3NSw2ICsxNzksOCBA QCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9zcGVjX2N0cmwoY29uc3QgY2hhciAqcykKICAgICAg ICAgICAgIG9wdF9lYWdlcl9mcHUgPSB2YWw7CiAgICAgICAgIGVsc2UgaWYgKCAodmFsID0gcGFy c2VfYm9vbGVhbigibDFkLWZsdXNoIiwgcywgc3MpKSA+PSAwICkKICAgICAgICAgICAgIG9wdF9s MWRfZmx1c2ggPSB2YWw7CisgICAgICAgIGVsc2UgaWYgKCAodmFsID0gcGFyc2VfYm9vbGVhbigi c3RhbGUtc2VnLWNsZWFyIiwgcywgc3MpKSA+PSAwICkKKyAgICAgICAgICAgIG9wdF9zdGFsZV9z ZWdfY2xlYXIgPSB2YWw7CiAgICAgICAgIGVsc2UgaWYgKCAodmFsID0gcGFyc2VfYm9vbGVhbigi bDF0Zi1iYXJyaWVyIiwgcywgc3MpKSA+PSAwICkKICAgICAgICAgICAgIG9wdF9sMXRmX2JhcnJp ZXIgPSB2YWw7CiAgICAgICAgIGVsc2UKQEAgLTMzNyw3ICszNDMsNyBAQCBzdGF0aWMgdm9pZCBf X2luaXQgcHJpbnRfZGV0YWlscyhlbnVtIGluZF90aHVuayB0aHVuaywgdWludDY0X3QgY2FwcykK ICAgICAgICAgICAgICAgICJcbiIpOwogCiAgICAgLyogU2V0dGluZ3MgZm9yIFhlbidzIHByb3Rl Y3Rpb24sIGlycmVzcGVjdGl2ZSBvZiBndWVzdHMuICovCi0gICAgcHJpbnRrKCIgIFhlbiBzZXR0 aW5nczogQlRJLVRodW5rICVzLCBTUEVDX0NUUkw6ICVzJXMsIE90aGVyOiVzJXMlcyVzXG4iLAor ICAgIHByaW50aygiICBYZW4gc2V0dGluZ3M6IEJUSS1UaHVuayAlcywgU1BFQ19DVFJMOiAlcyVz LCBPdGhlcjolcyVzJXMlcyVzXG4iLAogICAgICAgICAgICB0aHVuayA9PSBUSFVOS19OT05FICAg ICAgPyAiTi9BIiA6CiAgICAgICAgICAgIHRodW5rID09IFRIVU5LX1JFVFBPTElORSA/ICJSRVRQ T0xJTkUiIDoKICAgICAgICAgICAgdGh1bmsgPT0gVEhVTktfTEZFTkNFICAgID8gIkxGRU5DRSIg OgpAQCAtMzQ5LDYgKzM1NSw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwcmludF9kZXRhaWxzKGVu dW0gaW5kX3RodW5rIHRodW5rLCB1aW50NjRfdCBjYXBzKQogICAgICAgICAgICBvcHRfaWJwYiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgSUJQQiIgIDogIiIsCiAgICAgICAg ICAgIG9wdF9sMWRfZmx1c2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gIiBMMURfRkxV U0giIDogIiIsCiAgICAgICAgICAgIG9wdF9tZF9jbGVhcl9wdiB8fCBvcHRfbWRfY2xlYXJfaHZt ICAgICAgID8gIiBWRVJXIiAgOiAiIiwKKyAgICAgICAgICAgb3B0X3N0YWxlX3NlZ19jbGVhciAg ICAgICAgICAgICAgICAgICAgICAgPyAiIFNFRy1DTEVBUiIgOiAiIiwKICAgICAgICAgICAgb3B0 X2wxdGZfYmFycmllciAgICAgICAgICAgICAgICAgICAgICAgICAgPyAiIEwxVEZfQkFSUklFUiIg OiAiIik7CiAKICAgICAvKiBMMVRGIGRpYWdub3N0aWNzLCBwcmludGVkIGlmIHZ1bG5lcmFibGUg b3IgUFYgc2hhZG93aW5nIGlzIGluIHVzZS4gKi8KQEAgLTg2NCw2ICs4NzEsODMgQEAgc3RhdGlj IF9faW5pdCB2b2lkIG1kc19jYWxjdWxhdGlvbnModWludDY0X3QgY2FwcykKICAgICB9CiB9CiAK Ky8qIENhbGN1bGF0ZSB3aGV0aGVyIHRoaXMgQ1BVIGxlYWtzIHNlZ21lbnQgcmVnaXN0ZXJzIGJl dHdlZW4gY29udGV4dHMuICovCitzdGF0aWMgdm9pZCBfX2luaXQgc3RhbGVfc2VnbWVudF9jYWxj dWxhdGlvbnModm9pZCkKK3sKKyAgICAvKgorICAgICAqIEFzc3VtZSBhbGwgdW5yZWNvZ25pc2Vk IHByb2Nlc3NvcnMgYXJlIG9rLiAgVGhpcyBpcyBvbmx5IGtub3duIHRvCisgICAgICogYWZmZWN0 IEludGVsIEZhbWlseSA2IHByb2Nlc3NvcnMuCisgICAgICovCisgICAgaWYgKCBib290X2NwdV9k YXRhLng4Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9JTlRFTCB8fAorICAgICAgICAgYm9vdF9jcHVf ZGF0YS54ODYgIT0gNiApCisgICAgICAgIHJldHVybjsKKworICAgIHN3aXRjaCAoIGJvb3RfY3B1 X2RhdGEueDg2X21vZGVsICkKKyAgICB7CisgICAgICAgIC8qCisgICAgICAgICAqIENvcmUgcHJv Y2Vzc29ycyBzaW5jZSBhdCBsZWFzdCBOZWhhbGVtIGFyZSB2dWxuZXJhYmxlLgorICAgICAgICAg Ki8KKyAgICBjYXNlIDB4MWU6IC8qIE5laGFsZW0gKi8KKyAgICBjYXNlIDB4MWY6IC8qIEF1YnVy bmRhbGUgLyBIYXZlbmRhbGUgKi8KKyAgICBjYXNlIDB4MWE6IC8qIE5laGFsZW0gRVAgKi8KKyAg ICBjYXNlIDB4MmU6IC8qIE5laGFsZW0gRVggKi8KKyAgICBjYXNlIDB4MjU6IC8qIFdlc3RtZXJl ICovCisgICAgY2FzZSAweDJjOiAvKiBXZXN0bWVyZSBFUCAqLworICAgIGNhc2UgMHgyZjogLyog V2VzdG1lcmUgRVggKi8KKyAgICBjYXNlIDB4MmE6IC8qIFNhbmR5QnJpZGdlICovCisgICAgY2Fz ZSAweDJkOiAvKiBTYW5keUJyaWRnZSBFUC9FWCAqLworICAgIGNhc2UgMHgzYTogLyogSXZ5QnJp ZGdlICovCisgICAgY2FzZSAweDNlOiAvKiBJdnlCcmlkZ2UgRVAvRVggKi8KKyAgICBjYXNlIDB4 M2M6IC8qIEhhc3dlbGwgKi8KKyAgICBjYXNlIDB4M2Y6IC8qIEhhc3dlbGwgRVgvRVAgKi8KKyAg ICBjYXNlIDB4NDU6IC8qIEhhc3dlbGwgRCAqLworICAgIGNhc2UgMHg0NjogLyogSGFzd2VsbCBI ICovCisgICAgY2FzZSAweDNkOiAvKiBCcm9hZHdlbGwgKi8KKyAgICBjYXNlIDB4NDc6IC8qIEJy b2Fkd2VsbCBIICovCisgICAgY2FzZSAweDRmOiAvKiBCcm9hZHdlbGwgRVAvRVggKi8KKyAgICBj YXNlIDB4NTY6IC8qIEJyb2Fkd2VsbCBEICovCisgICAgY2FzZSAweDRlOiAvKiBTa3lsYWtlIE0g Ki8KKyAgICBjYXNlIDB4NTU6IC8qIFNreWxha2UgWCAqLworICAgIGNhc2UgMHg1ZTogLyogU2t5 bGFrZSBEICovCisgICAgY2FzZSAweDY2OiAvKiBDYW5ub25sYWtlICovCisgICAgY2FzZSAweDY3 OiAvKiBDYW5ub25sYWtlPyAqLworICAgIGNhc2UgMHg4ZTogLyogS2FieWxha2UgTSAqLworICAg IGNhc2UgMHg5ZTogLyogS2FieWxha2UgRCAqLworICAgICAgICBjcHVfaGFzX2J1Z19zdGFsZV9z ZWcgPSB0cnVlOworICAgICAgICBicmVhazsKKworICAgICAgICAvKgorICAgICAgICAgKiBBdG9t IHByb2Nlc3NvcnMgYXJlIG5vdCB2dWxuZXJhYmxlLgorICAgICAgICAgKi8KKyAgICBjYXNlIDB4 MWM6IC8qIFBpbmV2aWV3ICovCisgICAgY2FzZSAweDI2OiAvKiBMaW5jcm9mdCAqLworICAgIGNh c2UgMHgyNzogLyogUGVud2VsbCAqLworICAgIGNhc2UgMHgzNTogLyogQ2xvdmVydmlldyAqLwor ICAgIGNhc2UgMHgzNjogLyogQ2VkYXJ2aWV3ICovCisgICAgY2FzZSAweDM3OiAvKiBCYXl0cmFp bCAvIFZhbGxleXZpZXcgKFNpbHZlcm1vbnQpICovCisgICAgY2FzZSAweDRkOiAvKiBBdmF0b24g LyBSYW5nZWx5IChTaWx2ZXJtb250KSAqLworICAgIGNhc2UgMHg0YzogLyogQ2hlcnJ5dHJhaWwg LyBCcmFzc3dlbGwgKi8KKyAgICBjYXNlIDB4NGE6IC8qIE1lcnJpZmllbGQgKi8KKyAgICBjYXNl IDB4NWE6IC8qIE1vb3JlZmllbGQgKi8KKyAgICBjYXNlIDB4NWM6IC8qIEdvbGRtb250ICovCisg ICAgY2FzZSAweDVmOiAvKiBEZW52ZXJ0b24gKi8KKyAgICBjYXNlIDB4N2E6IC8qIEdlbWluaSBM YWtlICovCisgICAgICAgIGJyZWFrOworCisgICAgICAgIC8qCisgICAgICAgICAqIEtuaWdodHMg cHJvY2Vzc29ycyBhcmUgbm90IHZ1bG5lcmFibGUuCisgICAgICAgICAqLworICAgIGNhc2UgMHg1 NzogLyogS25pZ2h0cyBMYW5kaW5nICovCisgICAgY2FzZSAweDg1OiAvKiBLbmlnaHRzIE1pbGwg Ki8KKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICBwcmludGsoIlVucmVj b2duaXNlZCBDUFUgbW9kZWwgJSN4IC0gYXNzdW1pbmcgdnVsbmVyYWJsZSB0byBTdGFsZVNlZ1xu IiwKKyAgICAgICAgICAgICAgIGJvb3RfY3B1X2RhdGEueDg2X21vZGVsKTsKKyAgICAgICAgYnJl YWs7CisgICAgfQorfQorCiB2b2lkIF9faW5pdCBpbml0X3NwZWN1bGF0aW9uX21pdGlnYXRpb25z KHZvaWQpCiB7CiAgICAgZW51bSBpbmRfdGh1bmsgdGh1bmsgPSBUSFVOS19ERUZBVUxUOwpAQCAt MTA5OCw2ICsxMTgyLDEyIEBAIHZvaWQgX19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlv bnModm9pZCkKICAgICAgICAgICAgICJlbmFibGVkLiAgTWl0aWdhdGlvbnMgd2lsbCBub3QgYmUg ZnVsbHkgZWZmZWN0aXZlLiAgUGxlYXNlXG4iCiAgICAgICAgICAgICAiY2hvb3NlIGFuIGV4cGxp Y2l0IHNtdD08Ym9vbD4gc2V0dGluZy4gIFNlZSBYU0EtMjk3LlxuIik7CiAKKyAgICBzdGFsZV9z ZWdtZW50X2NhbGN1bGF0aW9ucygpOworCisgICAgLyogU2NydWIgc2VnbWVudCByZWdpc3RlcnMg YnkgZGVmYXVsdCBvbiBsZWFreSBoYXJkd2FyZS4gKi8KKyAgICBpZiAoIG9wdF9zdGFsZV9zZWdf Y2xlYXIgPT0gLTEgKQorICAgICAgICBvcHRfc3RhbGVfc2VnX2NsZWFyID0gY3B1X2hhc19idWdf c3RhbGVfc2VnOworCiAgICAgcHJpbnRfZGV0YWlscyh0aHVuaywgY2Fwcyk7CiAKICAgICAvKgpk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmwuaCBiL3hlbi9pbmNsdWRl L2FzbS14ODYvc3BlY19jdHJsLmgKaW5kZXggMTMzOWRkZDdlZi4uNDliNzU1ZTRlZCAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmwuaAorKysgYi94ZW4vaW5jbHVkZS9h c20teDg2L3NwZWNfY3RybC5oCkBAIC0zNyw2ICszNyw3IEBAIGV4dGVybiBib29sIG9wdF9pYnBi OwogZXh0ZXJuIGJvb2wgb3B0X3NzYmQ7CiBleHRlcm4gaW50OF90IG9wdF9lYWdlcl9mcHU7CiBl eHRlcm4gaW50OF90IG9wdF9sMWRfZmx1c2g7CitleHRlcm4gaW50OF90IG9wdF9zdGFsZV9zZWdf Y2xlYXI7CiBleHRlcm4gaW50OF90IG9wdF9sMXRmX2JhcnJpZXI7CiAKIGV4dGVybiBib29sIGJz cF9kZWxheV9zcGVjX2N0cmw7Ci0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v bGlzdGluZm8veGVuLWRldmVs