Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1633638ybz; Thu, 16 Apr 2020 12:39:59 -0700 (PDT) X-Google-Smtp-Source: APiQypLdFcBPiVw6pJYVfTAVxkPs7KGG8J1vVjbQA/CUjV35TP69EfIy6jWMTD/rUW84GCmP3vcB X-Received: by 2002:aa7:d91a:: with SMTP id a26mr32463522edr.236.1587065999379; Thu, 16 Apr 2020 12:39:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587065999; cv=none; d=google.com; s=arc-20160816; b=TTMylwfrk3QPow15mGe6gRJWClzVU26T7zZhPVkvHWcjH/jjcxUDgEBPFE+70mZokZ vSoxUv4U9cEEysDYao/EMSWefRJqUmziLLnOsB+s7Ik1bSpFijKFLmGFwh60pwuY6COa sDAGNl2mhk9q7HrFK7RYDxwVR/jKms1MWQ86x1V5loSx5/wtlC4g/WceiKuvxEFORCGi 8GknLCarE55r6ILOXGvDYoyeysGUh6t21Z65ChEpaIR0PeRIvaMQoS3Q/x008ml+BLMJ O0wuFzXHTsvkOLcnb0wOTrwrCMWWl70jxX2u21uCv/mF4rKU7BfOLdMdW9CFLJ9zywKs +T9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=gNKZl3KzK1/lbmnidKrbzWhM30Ituij7zMP7pjcBnuc=; b=JRF0dw9IBD9xSoBZuwfUC/TT6AbEh6fczS01fXul7AqXTY8sQQZWw9WyucdGamIl7G ivm5clYdj/kMealcN6SpcR15tP1m5Vo2xKBHLkBgIEcJI4zS6d/qnEwhtehU1VzIvx8b Stjrkx6jlrYQtZPnLYSlvRv/IpDzn5pUG/ZZ2+uu0rzI4NXDB7PEkEmQyZSD1pnUEzA+ fMFeSDg1KJ34y1n1ZpLwiY4lQxTs/sILJLvnMNzoh5a47IViaIzKu2svdWu67tmxOXQo KvPcz8dt+8g5LErhXXGxhTsB2nA4+KZ6PI3/suVvjlWXY+8mrJIimkGI+sXc4B3ul2DK 5WZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QTIzuM8J; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g23si12991128ejh.437.2020.04.16.12.39.35; Thu, 16 Apr 2020 12:39:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QTIzuM8J; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2896522AbgDPNcW (ORCPT + 99 others); Thu, 16 Apr 2020 09:32:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:37588 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2895781AbgDPN2e (ORCPT ); Thu, 16 Apr 2020 09:28:34 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4D8F6217D8; Thu, 16 Apr 2020 13:28:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587043712; bh=+1jJAipbKsBP4A6cGWqZanA8GOgZ3Am4/T7UsiGhELc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QTIzuM8JSwMbAPQjtlNFowWvB7ENUgK+O1VV8gvPB1JNw+OzyZcBHAmYAtgsucriV cqnB7LdlBsaKeboQPBqRQZqmeyNLtu97mN5MJiLe8kM6gSPOLxjXD63FXknR8IwdMC 2tDW+uiwINOdsC58JO+eyKHtXM0e5TGqo9OXHNKU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Matthew Garrett , Jerry Snitselaar , Jarkko Sakkinen Subject: [PATCH 4.19 068/146] tpm: Dont make log failures fatal Date: Thu, 16 Apr 2020 15:23:29 +0200 Message-Id: <20200416131252.245390317@linuxfoundation.org> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200416131242.353444678@linuxfoundation.org> References: <20200416131242.353444678@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Matthew Garrett commit 805fa88e0780b7ce1cc9b649dd91a0a7164c6eb4 upstream. If a TPM is in disabled state, it's reasonable for it to have an empty log. Bailing out of probe in this case means that the PPI interface isn't available, so there's no way to then enable the TPM from the OS. In general it seems reasonable to ignore log errors - they shouldn't interfere with any other TPM functionality. Signed-off-by: Matthew Garrett Cc: stable@vger.kernel.org # 4.19.x Reviewed-by: Jerry Snitselaar Reviewed-by: Jarkko Sakkinen Signed-off-by: Jarkko Sakkinen Signed-off-by: Greg Kroah-Hartman --- drivers/char/tpm/eventlog/common.c | 12 ++++-------- drivers/char/tpm/tpm-chip.c | 4 +--- drivers/char/tpm/tpm.h | 2 +- 3 files changed, 6 insertions(+), 12 deletions(-) --- a/drivers/char/tpm/eventlog/common.c +++ b/drivers/char/tpm/eventlog/common.c @@ -104,11 +104,8 @@ static int tpm_read_log(struct tpm_chip * * If an event log is found then the securityfs files are setup to * export it to userspace, otherwise nothing is done. - * - * Returns -ENODEV if the firmware has no event log or securityfs is not - * supported. */ -int tpm_bios_log_setup(struct tpm_chip *chip) +void tpm_bios_log_setup(struct tpm_chip *chip) { const char *name = dev_name(&chip->dev); unsigned int cnt; @@ -117,7 +114,7 @@ int tpm_bios_log_setup(struct tpm_chip * rc = tpm_read_log(chip); if (rc < 0) - return rc; + return; log_version = rc; cnt = 0; @@ -163,13 +160,12 @@ int tpm_bios_log_setup(struct tpm_chip * cnt++; } - return 0; + return; err: - rc = PTR_ERR(chip->bios_dir[cnt]); chip->bios_dir[cnt] = NULL; tpm_bios_log_teardown(chip); - return rc; + return; } void tpm_bios_log_teardown(struct tpm_chip *chip) --- a/drivers/char/tpm/tpm-chip.c +++ b/drivers/char/tpm/tpm-chip.c @@ -463,9 +463,7 @@ int tpm_chip_register(struct tpm_chip *c tpm_sysfs_add_device(chip); - rc = tpm_bios_log_setup(chip); - if (rc != 0 && rc != -ENODEV) - return rc; + tpm_bios_log_setup(chip); tpm_add_ppi(chip); --- a/drivers/char/tpm/tpm.h +++ b/drivers/char/tpm/tpm.h @@ -602,6 +602,6 @@ int tpm2_prepare_space(struct tpm_chip * int tpm2_commit_space(struct tpm_chip *chip, struct tpm_space *space, u32 cc, u8 *buf, size_t *bufsiz); -int tpm_bios_log_setup(struct tpm_chip *chip); +void tpm_bios_log_setup(struct tpm_chip *chip); void tpm_bios_log_teardown(struct tpm_chip *chip); #endif