From patchwork Mon Aug 29 20:08:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Gunthorpe X-Patchwork-Id: 663810 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.sourceforge.net (lists.sourceforge.net [216.34.181.88]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3sNN516VyDz9s4n for ; Tue, 30 Aug 2016 06:08:37 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=sfs-ml-2.v29.ch3.sourceforge.com) by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1beSrD-0003na-VA; Mon, 29 Aug 2016 20:08:35 +0000 Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1beSrC-0003nV-O9 for tpmdd-devel@lists.sourceforge.net; Mon, 29 Aug 2016 20:08:34 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of obsidianresearch.com designates 184.70.90.242 as permitted sender) client-ip=184.70.90.242; envelope-from=jgunthorpe@obsidianresearch.com; helo=quartz.orcorp.ca; Received: from quartz.orcorp.ca ([184.70.90.242]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:AES128-SHA:128) (Exim 4.76) id 1beSrB-0002Yn-UK for tpmdd-devel@lists.sourceforge.net; Mon, 29 Aug 2016 20:08:34 +0000 Received: from [10.0.0.151] (helo=jggl.edm.orcorp.ca) by quartz.orcorp.ca with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1beSr6-0001MZ-G5 for tpmdd-devel@lists.sourceforge.net; Mon, 29 Aug 2016 14:08:28 -0600 Received: from jgg by jggl.edm.orcorp.ca with local (Exim 4.84) (envelope-from ) id 1beSr6-0000rH-CQ for tpmdd-devel@lists.sourceforge.net; Mon, 29 Aug 2016 14:08:28 -0600 Date: Mon, 29 Aug 2016 14:08:28 -0600 From: Jason Gunthorpe To: tpmdd-devel@lists.sourceforge.net Message-ID: <20160829200828.GB3201@obsidianresearch.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-Broken-Reverse-DNS: no host name found for IP address 10.0.0.151 X-Spam-Score: -1.6 (-) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1beSrB-0002Yn-UK Subject: [tpmdd-devel] [petr@vmware.com: TPM2 erroring-out after tpm: Factor out common startup code] X-BeenThere: tpmdd-devel@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: Tpm Device Driver maintainance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tpmdd-devel-bounces@lists.sourceforge.net Looks legit to me. ----- Forwarded message from Petr Vandrovec ----- Date: Sat, 27 Aug 2016 23:44:46 -0700 From: Petr Vandrovec To: jgunthorpe@obsidianresearch.com Subject: TPM2 erroring-out after tpm: Factor out common startup code Hi Jason, your change cae8b441fc20812d7260dc3b45e05ee98fcfff1b to factor out common startup code introduced regression in tpm2-cmd :-( Now if firmware does initialize tpm2 (and so tpm2_do_selftest succeeds), 'TPM self test failed' error message is still printed, despite 'rc' being zero :-( Can you apply something like patch below, and send it to Linus? You also probably want to keep warning that TPM was not initialized by firmware if tpm2-cmd has to perform initialization, as in such case TPM cannot be used for attestation. Thanks, Petr Do not print error message on successful TPM2 selftest If TPM2 selftest succeeds, everything is fine, and no error message should be printed. Signed-off-by: Petr Vandrovec ----- End forwarded message ----- diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c index 08c7e23..f141357 100644 --- a/drivers/char/tpm/tpm2-cmd.c +++ b/drivers/char/tpm/tpm2-cmd.c @@ -957,7 +957,7 @@ int tpm2_auto_startup(struct tpm_chip *chip) goto out; rc = tpm2_do_selftest(chip); - if (rc != TPM2_RC_INITIALIZE) { + if (rc && rc != TPM2_RC_INITIALIZE) { dev_err(&chip->dev, "TPM self test failed\n"); goto out; }