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 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 54750C35FF3 for ; Fri, 21 Mar 2025 07:59:51 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tvXI7-0001l4-Ks; Fri, 21 Mar 2025 03:59:45 -0400 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 1tvXHt-0001j4-2z for grub-devel@gnu.org; Fri, 21 Mar 2025 03:59:29 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tvXHq-0003Nq-Ot for grub-devel@gnu.org; Fri, 21 Mar 2025 03:59:28 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-39143200ddaso982548f8f.1 for ; Fri, 21 Mar 2025 00:59:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1742543965; x=1743148765; darn=gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uV9BXeKp5pT0SvEutvhuqEa7vaJT80iR3bxJRnm6KUE=; b=WYuhgLuWb9y3f+vdN9Sbvn1mkh0cShTj1bA69uFTiVyFdrzZ30DhQNNdVHABu0lLr5 Uhr/mlDFCXvdluiDY0udfYcG+Y3a7kNTrE99HBJP6F4jejTN8Xcz50+AUQeffoNsDfas HZzbOD4GQZKPhOU9XhJZb7PhVpj4MBHrTtCNUoJgHIC6tzJpEVGfEe2Vfj/4LFkPtg9b hLAjDpVPnFQ7u1oFYtXmEPo1PAF7h7X901BqX3Es8j4TMFT5coUHlhxKiUVz1Yr5uS2f 21DXXYRugjgUBXkIYeZWhgnDfKiGFt0KE4+2mxWOH2KzTNAyrG88pXecQLQuyO2574Kw fCBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742543965; x=1743148765; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uV9BXeKp5pT0SvEutvhuqEa7vaJT80iR3bxJRnm6KUE=; b=CMrq7B1tNQ96Gs8I8xI4w5KPMZDwf+CfRLUChn9zZgzN74iVijY7Rjm11LF38jqAxL 6My6bsDAPxPfoZ6soy+1zNSYb3ZkzRZYC81vzdUX0ACC5thbf5+fQ9c72cQmBwmwprpL Kr2bd0X34dCQjhpNHnf9kDmcTdU+upEQjHiPrimkcVrc/q2Bie3FXxU1rrUi2t5j+NKW h0pH769wMtdiI5BCGyJNEl0exC4wWeraOakdwPK0xNDlCqYUJ5HrOAHnQ2lvMUsmM1Fi ovKOfuoeEU451Xi4sBqBLbi3hQ+7rTkWTBN/mE3DiBmr29yCYkXbGYrldj1Lgp7BLsel K7iw== X-Gm-Message-State: AOJu0YxRuIqTJgRNuw3qLfvtEuOj9Yp0ye6dR3pGMufJh7YVG6ALkGg6 ctJax+Ysfn52VBMP1ZrkcKRUQl7EOvxxGUOaE+lwf80hgK+rctPp5B6DmQhKzZF/fSTPtYwMDta G X-Gm-Gg: ASbGnctsYAiCQxyNADLoD9ImQUT8RKNjfd7qTUxivRtjLVqPhtxdGmpDso7fUHIi3yP Phty6DExECqtA7bjKQSXKqwHKW1ElobPDz1afLP+DApE2K60DZBBVT2Ne36WLdJWSK3wvmtgdnq lvWODc/avb30ObFPTAR3Pi8ArwSH+VX0/1OZDj1ja3oXSqC7VRbb0OIA+Vcu89Kv0x5O6NeRWd7 A+51OyYpTdwNHaZuIe0rsoNKZsCOtL5GYUqOq9YjLRxizvMeCb55tVEYP3mFotPtDlUNGap+xoy 2Wk3XtGRO+Wt+aiRAovjBKl10ZCPKOn0hlQsh8CdT6gF29ObsDJrSu5jtoobar9ZjR0plcXqTV4 = X-Google-Smtp-Source: AGHT+IGnbJdvt31XN3hj/R/JK7UfshFqQ7w5JcYLHO/64H+1k/HzGc9z6XOGPqHW7fTd/tQk3wa/yA== X-Received: by 2002:a5d:64a5:0:b0:391:22a9:4408 with SMTP id ffacd0b85a97d-3997f8fecf8mr2742584f8f.16.1742543964940; Fri, 21 Mar 2025 00:59:24 -0700 (PDT) Received: from localhost (111-240-129-118.dynamic-ip.hinet.net. [111.240.129.118]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-73905fd5219sm1188798b3a.41.2025.03.21.00.59.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 00:59:24 -0700 (PDT) To: The development of GNU GRUB Subject: [PATCH v4 01/12] tpm2_key_protector: dump PCRs on policy fail Date: Fri, 21 Mar 2025 15:58:57 +0800 Message-ID: <20250321075908.10523-2-glin@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250321075908.10523-1-glin@suse.com> References: <20250321075908.10523-1-glin@suse.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=glin@suse.com; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Gary Lin via Grub-devel Reply-To: The development of GNU GRUB Cc: Gary Lin , Daniel Kiper , mchang@suse.com, patrick.colp@oracle.com, Stefan Berger , jejb@linux.ibm.com, Glenn Washburn Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org UENSIG1pc21hdGNoaW5nIGlzIG9uZSBjb21tb24gY2F1c2Ugb2YgVFBNIGtleSB1bnNlYWxpbmcg ZmFpbC4gU2luY2UgdGhlCnN5c3RlbSBtYXkgYmUgY29tcHJvbWlzZWQsIGl0IGlzIG5vdCBzYWZl IHRvIGJvb3QgaW50byBPUyB0byBnZXQgdGhlIFBDUgp2YWx1ZXMgYW5kIFRQTSBldmVudGxvZyBm b3IgdGhlIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbi4KClRvIHByb3ZpZGUgc29tZSBoaW50cywgR1JV QiBub3cgZHVtcHMgUENScyBvbiBwb2xpY3kgZmFpbCwgc28gdGhlIHVzZXIKY2FuIGNoZWNrIHRo ZSBjdXJyZW50IFBDUiB2YWx1ZXMuIFBDUiAwfjE1IGFyZSBjaG9zZW4gdG8gY292ZXIgdGhlCmZp cm13YXJlLCBib290bG9hZGVyLCBhbmQgT1MuCgpUaGUgc2FtcGxlIG91dHB1dDoKClBDUiBNaXNt YXRjaCEgQ2hlY2sgZmlybXdhcmUgYW5kIGJvb3Rsb2FkZXIgYmVmb3JlIHR5cGluZyBwYXNzcGhy YXNlIQpUUE0gUENSIFtzaGEyNTZdOgogIDAwOiAxNzQwMWYzNzcxMDk4NGMxZDhhMDNhODFmZmYz YWI1NjdhZTkyOTFiYWM2MWUyMTcxNWI4OTBlZTI4ODc5NzM4CiAgMDE6IDdhMTE0MzI5YmEzODg0 NDVhOTZlOGRiMmEwNzI3ODU5MzdjMWI3YTg4MDNlZDdjYzY4MmI4N2YzZmYzZGQ3YTgKICAwMjog MTFjMjc3Njg0OWU4ZTI0YjdkODBjOTI2Y2JjNDI1Nzg3MWJmZmE3NDRkYWRmZWZkM2VkMDQ5Y2Uy NTE0M2UwNQogIDAzOiA2YzMzYjM2MjA3M2UyOGUzMGI0NzMwMmJiZGQzZTZmOWNlZTRkZWJjYTNh MzA0ZTY0NmY4YzY4MjQ1NzI0MzUwCiAgMDQ6IDYyZDM4ODM4NDgzZWNmZDI0ODRlZTNhMmU1NDUw ZDhjYTNiMzVmYzcyY2RhNmE4YzYyMGY5ZjQzNTIxYzM3ZDEKICAwNTogZDhhODVjYjM3MjIxYWI3 ZDFmMmNjNWY1NTRkYmUwNDYzYWNiNjc4NGI1YjhkYzMxNjRjY2FhNjZkOGZmZjBlMQogIDA2OiA5 MjYyZTM3Y2JlNzFlZDRkYWY4MTViNGE0ODgxZmI3MjUxYzlkMzcxMDkyZGRlODI3NTU3ZDUzNjgx MjFlMTBlCiAgMDc6IDIxOWQ1NDIyMzNiZTQ5MmQ2MmIwNzlmZmU0NmNmMTMzOTZhOGMyN2U1MjBl ODhiMDhlYWYyZTZkM2I3ZTcwZjUKICAwODogZGUxZjYxYzk3M2I2NzNlNTA1YWRlYmUwZDdlOGZi NjVmZGU2YzI0ZGQ0YWI0ZmJhZmY5ZTI4YjE4ZGY2ZWNkMwogIDA5OiBjMWRlNzI3NGZhM2U4Nzlh MTZkN2U2ZTc2MjllMzQ2M2Q5NWY2OGFkY2ZkMTdjNDc3MTgzODQ2ZGNjYzQxYzg5CiAgMTA6IDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAKICAxMTogMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMAogIDEyOiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiAgMTM6IDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKICAxNDogOWFi OWViZTQ4NzlhN2Y0ZGQwMGMwNGYzN2U3OWNmZDY5ZDBkZDdhOGJjYzZiMDExMzU1MjViNjc2NzZh M2U0MAogIDE1OiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwCiAgMTY6IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKICAxNzogZmZmZmZmZmZmZmZmZmZmZmZm ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgogIDE4OiBmZmZm ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm ZmZmCiAgMTk6IGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm ZmZmZmZmZmZmZmZmZmZmZmYKICAyMDogZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgogIDIxOiBmZmZmZmZmZmZmZmZmZmZmZmZm ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmCiAgMjI6IGZmZmZm ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm ZmYKICAyMzogMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMAplcnJvcjogZmFpbGVkIHRvIHVuc2VhbCBzZWFsZWQga2V5IChUUE0y X1Vuc2VhbDogMHg5OWQpLgplcnJvcjogbm8ga2V5IHByb3RlY3RvciBwcm92aWRlZCBhIHVzYWJs ZSBrZXkgZm9yIGx1a3MgKGFmMTZlNDhmLTc0NmItNGExMi1hYWUxLWMxNGRjZWU0MjllMCkuCgpJ ZiB0aGUgdXNlciBoYXBwZW5zIHRvIGhhdmUgdGhlIFBDUiB2YWx1ZXMgZm9yIGtleSBzZWFsaW5n LCB0aGUgUENSIGR1bXAKY2FuIGJlIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGNoYW5nZWQgUENScyBh bmQgbmFycm93IGRvd24gdGhlIHNjb3BlIGZvcgpjbG9zZXIgaW5zcGVjdGlvbi4KClBsZWFzZSBu b3RlIHRoYXQgdGhlIFBDUiBkdW1wIGlzIHRydXN0d29ydGh5IG9ubHkgaWYgdGhlIEdSVUIgYmlu YXJ5IGlzCmF1dGhlbnRpYywgc28gdGhlIHVzZXIgaGFzIHRvIGNoZWNrIHRoZSBHUlVCIGJpbmFy eSB0aG9yb3VnaGx5IGJlZm9yZQp1c2luZyB0aGUgUENSIGR1bXAuCgpTaWduZWQtb2ZmLWJ5OiBH YXJ5IExpbiA8Z2xpbkBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbiBCZXJnZXIgPHN0ZWZh bmJAbGludXguaWJtLmNvbT4KUmV2aWV3ZWQtYnk6IERhbmllbCBLaXBlciA8ZGFuaWVsLmtpcGVy QG9yYWNsZS5jb20+Ci0tLQogLi4uL2NvbW1hbmRzL3RwbTJfa2V5X3Byb3RlY3Rvci9tb2R1bGUu YyAgICAgIHwgMTE4ICsrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDExNCBpbnNl cnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dydWItY29yZS9jb21tYW5k cy90cG0yX2tleV9wcm90ZWN0b3IvbW9kdWxlLmMgYi9ncnViLWNvcmUvY29tbWFuZHMvdHBtMl9r ZXlfcHJvdGVjdG9yL21vZHVsZS5jCmluZGV4IDc0ZTc5YTU0NS4uZDVlNTMwZjc3IDEwMDY0NAot LS0gYS9ncnViLWNvcmUvY29tbWFuZHMvdHBtMl9rZXlfcHJvdGVjdG9yL21vZHVsZS5jCisrKyBi L2dydWItY29yZS9jb21tYW5kcy90cG0yX2tleV9wcm90ZWN0b3IvbW9kdWxlLmMKQEAgLTc5MCw3 ICs3OTAsNyBAQCB0cG0yX3Byb3RlY3Rvcl9zaW1wbGVfcG9saWN5X3NlcSAoY29uc3QgdHBtMl9w cm90ZWN0b3JfY29udGV4dF90ICpjdHgsCiAKIHN0YXRpYyBncnViX2Vycl90CiB0cG0yX3Byb3Rl Y3Rvcl91bnNlYWwgKHRwbTJrZXlfcG9saWN5X3QgcG9saWN5X3NlcSwgVFBNX0hBTkRMRV90IHNl YWxlZF9oYW5kbGUsCi0JCSAgICAgICBncnViX3VpbnQ4X3QgKiprZXksIGdydWJfc2l6ZV90ICpr ZXlfc2l6ZSkKKwkJICAgICAgIGdydWJfdWludDhfdCAqKmtleSwgZ3J1Yl9zaXplX3QgKmtleV9z aXplLCBib29sICpkdW1wX3BjcikKIHsKICAgVFBNU19BVVRIX0NPTU1BTkRfdCBhdXRoQ21kID0g ezB9OwogICBUUE0yQl9TRU5TSVRJVkVfREFUQV90IGRhdGE7CkBAIC04MDEsNiArODAxLDggQEAg dHBtMl9wcm90ZWN0b3JfdW5zZWFsICh0cG0ya2V5X3BvbGljeV90IHBvbGljeV9zZXEsIFRQTV9I QU5ETEVfdCBzZWFsZWRfaGFuZGxlLAogICBUUE1fUkNfdCByYzsKICAgZ3J1Yl9lcnJfdCBlcnI7 CiAKKyAgKmR1bXBfcGNyID0gZmFsc2U7CisKICAgLyogU3RhcnQgQXV0aCBTZXNzaW9uICovCiAg IG5vbmNlQ2FsbGVyLnNpemUgPSBUUE1fU0hBMjU2X0RJR0VTVF9TSVpFOwogICBzeW1tZXRyaWMu YWxnb3JpdGhtID0gVFBNX0FMR19OVUxMOwpAQCAtODIwLDYgKzgyMiwxMyBAQCB0cG0yX3Byb3Rl Y3Rvcl91bnNlYWwgKHRwbTJrZXlfcG9saWN5X3QgcG9saWN5X3NlcSwgVFBNX0hBTkRMRV90IHNl YWxlZF9oYW5kbGUsCiAgIHJjID0gZ3J1Yl90cG0yX3Vuc2VhbCAoc2VhbGVkX2hhbmRsZSwgJmF1 dGhDbWQsICZkYXRhLCBOVUxMKTsKICAgaWYgKHJjICE9IFRQTV9SQ19TVUNDRVNTKQogICAgIHsK KyAgICAgIC8qCisgICAgICAgKiBUcmlnZ2VyIFBDUiBkdW1wIG9uIHBvbGljeSBmYWlsCisgICAg ICAgKiBUUE1fUkNfUyAoMHg4MDApIHwgVFBNX1JDXzEgKDB4MTAwKSB8IFJDX0ZNVCAoMHg4MCkg fCBUUE1fUkNfUE9MSUNZX0ZBSUwgKDB4MUQpCisgICAgICAgKi8KKyAgICAgIGlmIChyYyA9PSAw eDk5RCkKKwkqZHVtcF9wY3IgPSB0cnVlOworCiAgICAgICBlcnIgPSBncnViX2Vycm9yIChHUlVC X0VSUl9CQURfREVWSUNFLCAiZmFpbGVkIHRvIHVuc2VhbCBzZWFsZWQga2V5IChUUE0yX1Vuc2Vh bDogMHgleCkiLCByYyk7CiAgICAgICBnb3RvIGVycm9yOwogICAgIH0KQEAgLTg0NSw2ICs4NTQs OTEgQEAgdHBtMl9wcm90ZWN0b3JfdW5zZWFsICh0cG0ya2V5X3BvbGljeV90IHBvbGljeV9zZXEs IFRQTV9IQU5ETEVfdCBzZWFsZWRfaGFuZGxlLAogICByZXR1cm4gZXJyOwogfQogCisjZGVmaW5l IFRQTV9QQ1JfU1RSX1NJWkUgKHNpemVvZiAoVFBNVV9IQV90KSAqIDIgKyAxKQorCitzdGF0aWMg Z3J1Yl9lcnJfdAordHBtMl9wcm90ZWN0b3JfZ2V0X3Bjcl9zdHIgKGNvbnN0IFRQTV9BTEdfSURf dCBhbGdvLCBncnViX3VpbnQzMl90IGluZGV4LCBjaGFyICpwY3Jfc3RyLCBncnViX3VpbnQxNl90 IGJ1Zl9zaXplKQoreworICBUUE1MX1BDUl9TRUxFQ1RJT05fdCBwY3Jfc2VsID0geworICAgIC5j b3VudCA9IDEsCisgICAgLnBjclNlbGVjdGlvbnMgPSB7CisgICAgICB7CisJLmhhc2ggPSBhbGdv LAorCS5zaXplT2ZTZWxlY3QgPSAzLAorCS5wY3JTZWxlY3QgPSB7MH0KKyAgICAgIH0sCisgICAg fQorICB9OworICBUUE1MX0RJR0VTVF90IGRpZ2VzdCA9IHswfTsKKyAgZ3J1Yl91aW50MTZfdCBp OworICBUUE1fUkNfdCByYzsKKworICBpZiAoYnVmX3NpemUgPCBUUE1fUENSX1NUUl9TSVpFKQor ICAgIHsKKyAgICAgIGdydWJfc25wcmludGYgKHBjcl9zdHIsIGJ1Zl9zaXplLCAiaW5zdWZmaWNp ZW50IGJ1ZmZlciIpOworICAgICAgcmV0dXJuIEdSVUJfRVJSX09VVF9PRl9NRU1PUlk7CisgICAg fQorCisgIFRQTVNfUENSX1NFTEVDVElPTl9TZWxlY3RQQ1IgKCZwY3Jfc2VsLnBjclNlbGVjdGlv bnNbMF0sIGluZGV4KTsKKworICByYyA9IGdydWJfdHBtMl9wY3JfcmVhZCAoTlVMTCwgJnBjcl9z ZWwsIE5VTEwsIE5VTEwsICZkaWdlc3QsIE5VTEwpOworICBpZiAocmMgIT0gVFBNX1JDX1NVQ0NF U1MpCisgICAgeworICAgICAgZ3J1Yl9zbnByaW50ZiAocGNyX3N0ciwgYnVmX3NpemUsICJUUE0y X1BDUl9SZWFkOiAweCV4IiwgcmMpOworICAgICAgcmV0dXJuIEdSVUJfRVJSX0JBRF9ERVZJQ0U7 CisgICAgfQorCisgIC8qIENoZWNrIHRoZSByZXR1cm5lZCBkaWdlc3QgbnVtYmVyIGFuZCBzaXpl ICovCisgIGlmIChkaWdlc3QuY291bnQgIT0gMSB8fCBkaWdlc3QuZGlnZXN0c1swXS5zaXplID4g c2l6ZW9mIChUUE1VX0hBX3QpKQorICAgIHsKKyAgICAgIGdydWJfc25wcmludGYgKHBjcl9zdHIs IGJ1Zl9zaXplLCAiaW52YWxpZCBkaWdlc3QiKTsKKyAgICAgIHJldHVybiBHUlVCX0VSUl9CQURf REVWSUNFOworICAgIH0KKworICAvKiBQcmludCB0aGUgZGlnZXN0IHRvIHRoZSBidWZmZXIgKi8K KyAgZm9yIChpID0gMDsgaSA8IGRpZ2VzdC5kaWdlc3RzWzBdLnNpemU7IGkrKykKKyAgICBncnVi X3NucHJpbnRmIChwY3Jfc3RyICsgMiAqIGksIGJ1Zl9zaXplIC0gMiAqIGksICIlMDJ4IiwgZGln ZXN0LmRpZ2VzdHNbMF0uYnVmZmVyW2ldKTsKKworICByZXR1cm4gR1JVQl9FUlJfTk9ORTsKK30K Kworc3RhdGljIHZvaWQKK3RwbTJfcHJvdGVjdG9yX2R1bXBfcGNyIChjb25zdCBUUE1fQUxHX0lE X3QgYmFuaykKK3sKKyAgY29uc3QgY2hhciAqYWxnb19uYW1lOworICBjaGFyIHBjcl9zdHJbVFBN X1BDUl9TVFJfU0laRV07CisgIGdydWJfdWludDhfdCBpOworICBncnViX2Vycl90IGVycjsKKwor ICBpZiAoYmFuayA9PSBUUE1fQUxHX1NIQTEpCisgICAgYWxnb19uYW1lID0gInNoYTEiOworICBl bHNlIGlmIChiYW5rID09IFRQTV9BTEdfU0hBMjU2KQorICAgIGFsZ29fbmFtZSA9ICJzaGEyNTYi OworICBlbHNlIGlmIChiYW5rID09IFRQTV9BTEdfU0hBMzg0KQorICAgIGFsZ29fbmFtZSA9ICJz aGEzODQiOworICBlbHNlIGlmIChiYW5rID09IFRQTV9BTEdfU0hBNTEyKQorICAgIGFsZ29fbmFt ZSA9ICJzaGE1MTIiOworICBlbHNlCisgICAgYWxnb19uYW1lID0gIm90aGVyIjsKKworICAvKiBU cnkgdG8gZmV0Y2ggUENSIDAgKi8KKyAgZXJyID0gdHBtMl9wcm90ZWN0b3JfZ2V0X3Bjcl9zdHIg KGJhbmssIDAsIHBjcl9zdHIsIHNpemVvZiAocGNyX3N0cikpOworICBpZiAoZXJyICE9IEdSVUJf RVJSX05PTkUpCisgICAgeworICAgICAgZ3J1Yl9wcmludGYgKCJVbnN1cHBvcnRlZCBQQ1IgYmFu ayBbJXNdOiAlc1xuIiwgYWxnb19uYW1lLCBwY3Jfc3RyKTsKKyAgICAgIHJldHVybjsKKyAgICB9 CisKKyAgZ3J1Yl9wcmludGYgKCJUUE0gUENSIFslc106XG4iLCBhbGdvX25hbWUpOworCisgIGdy dWJfcHJpbnRmICgiICAlMDJkOiAlc1xuIiwgMCwgcGNyX3N0cik7CisgIGZvciAoaSA9IDE7IGkg PCBUUE1fTUFYX1BDUlM7IGkrKykKKyAgICB7CisgICAgICB0cG0yX3Byb3RlY3Rvcl9nZXRfcGNy X3N0ciAoYmFuaywgaSwgcGNyX3N0ciwgc2l6ZW9mIChwY3Jfc3RyKSk7CisgICAgICBncnViX3By aW50ZiAoIiAgJTAyZDogJXNcbiIsIGksIHBjcl9zdHIpOworICAgIH0KK30KKwogc3RhdGljIGdy dWJfZXJyX3QKIHRwbTJfcHJvdGVjdG9yX3Nya19yZWNvdmVyIChjb25zdCB0cG0yX3Byb3RlY3Rv cl9jb250ZXh0X3QgKmN0eCwKIAkJCSAgICBncnViX3VpbnQ4X3QgKiprZXksIGdydWJfc2l6ZV90 ICprZXlfc2l6ZSkKQEAgLTg1OSw2ICs5NTMsNyBAQCB0cG0yX3Byb3RlY3Rvcl9zcmtfcmVjb3Zl ciAoY29uc3QgdHBtMl9wcm90ZWN0b3JfY29udGV4dF90ICpjdHgsCiAgIHRwbTJrZXlfcG9saWN5 X3QgcG9saWN5X3NlcSA9IE5VTEw7CiAgIHRwbTJrZXlfYXV0aHBvbGljeV90IGF1dGhwb2wgPSBO VUxMOwogICB0cG0ya2V5X2F1dGhwb2xpY3lfdCBhdXRocG9sX3NlcSA9IE5VTEw7CisgIGJvb2wg ZHVtcF9wY3IgPSBmYWxzZTsKICAgZ3J1Yl9lcnJfdCBlcnI7CiAKICAgLyoKQEAgLTkyNCw3ICsx MDE5LDcgQEAgdHBtMl9wcm90ZWN0b3Jfc3JrX3JlY292ZXIgKGNvbnN0IHRwbTJfcHJvdGVjdG9y X2NvbnRleHRfdCAqY3R4LAogICAvKiBJdGVyYXRlIHRoZSBhdXRocG9saWN5IHNlcXVlbmNlIHRv IGZpbmQgb25lIHRoYXQgdW5zZWFscyB0aGUga2V5ICovCiAgIEZPUl9MSVNUX0VMRU1FTlRTIChh dXRocG9sLCBhdXRocG9sX3NlcSkKICAgICB7Ci0gICAgICBlcnIgPSB0cG0yX3Byb3RlY3Rvcl91 bnNlYWwgKGF1dGhwb2wtPnBvbGljeV9zZXEsIHNlYWxlZF9oYW5kbGUsIGtleSwga2V5X3NpemUp OworICAgICAgZXJyID0gdHBtMl9wcm90ZWN0b3JfdW5zZWFsIChhdXRocG9sLT5wb2xpY3lfc2Vx LCBzZWFsZWRfaGFuZGxlLCBrZXksIGtleV9zaXplLCAmZHVtcF9wY3IpOwogICAgICAgaWYgKGVy ciA9PSBHUlVCX0VSUl9OT05FKQogICAgICAgICBicmVhazsKIApAQCAtOTUyLDEzICsxMDQ3LDIw IEBAIHRwbTJfcHJvdGVjdG9yX3Nya19yZWNvdmVyIChjb25zdCB0cG0yX3Byb3RlY3Rvcl9jb250 ZXh0X3QgKmN0eCwKIAkgICAgZ290byBleGl0MjsKIAl9CiAKLSAgICAgIGVyciA9IHRwbTJfcHJv dGVjdG9yX3Vuc2VhbCAocG9saWN5X3NlcSwgc2VhbGVkX2hhbmRsZSwga2V5LCBrZXlfc2l6ZSk7 CisgICAgICBlcnIgPSB0cG0yX3Byb3RlY3Rvcl91bnNlYWwgKHBvbGljeV9zZXEsIHNlYWxlZF9o YW5kbGUsIGtleSwga2V5X3NpemUsICZkdW1wX3Bjcik7CiAgICAgfQogCiAgIC8qIFBvcCBlcnJv ciBtZXNzYWdlcyBvbiBzdWNjZXNzICovCiAgIGlmIChlcnIgPT0gR1JVQl9FUlJfTk9ORSkKICAg ICB3aGlsZSAoZ3J1Yl9lcnJvcl9wb3AgKCkpOwogCisgIC8qIER1bXAgUENScyBpZiBuZWNlc3Nh cnkgKi8KKyAgaWYgKGR1bXBfcGNyID09IHRydWUpCisgICAgeworICAgICAgZ3J1Yl9wcmludGYg KCJQQ1IgTWlzbWF0Y2ghIENoZWNrIGZpcm13YXJlIGFuZCBib290bG9hZGVyIGJlZm9yZSB0eXBp bmcgcGFzc3BocmFzZSFcbiIpOworICAgICAgdHBtMl9wcm90ZWN0b3JfZHVtcF9wY3IgKGN0eC0+ YmFuayk7CisgICAgfQorCiAgZXhpdDI6CiAgIGdydWJfdHBtMl9mbHVzaGNvbnRleHQgKHNlYWxl ZF9oYW5kbGUpOwogCkBAIC05NzgsNiArMTA4MCw3IEBAIHRwbTJfcHJvdGVjdG9yX252X3JlY292 ZXIgKGNvbnN0IHRwbTJfcHJvdGVjdG9yX2NvbnRleHRfdCAqY3R4LAogewogICBUUE1fSEFORExF X3Qgc2VhbGVkX2hhbmRsZSA9IGN0eC0+bnY7CiAgIHRwbTJrZXlfcG9saWN5X3QgcG9saWN5X3Nl cSA9IE5VTEw7CisgIGJvb2wgZHVtcF9wY3IgPSBmYWxzZTsKICAgZ3J1Yl9lcnJfdCBlcnI7CiAK ICAgLyogQ3JlYXRlIGEgYmFzaWMgcG9saWN5IHNlcXVlbmNlIGJhc2VkIG9uIHRoZSBnaXZlbiBQ Q1Igc2VsZWN0aW9uICovCkBAIC05ODUsNyArMTA4OCwxNCBAQCB0cG0yX3Byb3RlY3Rvcl9udl9y ZWNvdmVyIChjb25zdCB0cG0yX3Byb3RlY3Rvcl9jb250ZXh0X3QgKmN0eCwKICAgaWYgKGVyciAh PSBHUlVCX0VSUl9OT05FKQogICAgIGdvdG8gZXhpdDsKIAotICBlcnIgPSB0cG0yX3Byb3RlY3Rv cl91bnNlYWwgKHBvbGljeV9zZXEsIHNlYWxlZF9oYW5kbGUsIGtleSwga2V5X3NpemUpOworICBl cnIgPSB0cG0yX3Byb3RlY3Rvcl91bnNlYWwgKHBvbGljeV9zZXEsIHNlYWxlZF9oYW5kbGUsIGtl eSwga2V5X3NpemUsICZkdW1wX3Bjcik7CisKKyAgLyogRHVtcCBQQ1JzIGlmIG5lY2Vzc2FyeSAq LworICBpZiAoZHVtcF9wY3IgPT0gdHJ1ZSkKKyAgICB7CisgICAgICBncnViX3ByaW50ZiAoIlBD UiBNaXNtYXRjaCEgQ2hlY2sgZmlybXdhcmUgYW5kIGJvb3Rsb2FkZXIgYmVmb3JlIHR5cGluZyBw YXNzcGhyYXNlIVxuIik7CisgICAgICB0cG0yX3Byb3RlY3Rvcl9kdW1wX3BjciAoY3R4LT5iYW5r KTsKKyAgICB9CiAKICBleGl0OgogICBncnViX3RwbTJfZmx1c2hjb250ZXh0IChzZWFsZWRfaGFu ZGxlKTsKLS0gCjIuNDMuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkdydWItZGV2ZWwgbWFpbGluZyBsaXN0CkdydWItZGV2ZWxAZ251Lm9yZwpodHRw czovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9ncnViLWRldmVsCg==