From patchwork Wed Sep 20 08:13:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Thi=C3=A9baud_Weksteen?= X-Patchwork-Id: 9961095 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9FBF46056A for ; Wed, 20 Sep 2017 08:16:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 916B028FFD for ; Wed, 20 Sep 2017 08:16:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 86CCC29013; Wed, 20 Sep 2017 08:16:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AE83628FFA for ; Wed, 20 Sep 2017 08:16:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751851AbdITIPm (ORCPT ); Wed, 20 Sep 2017 04:15:42 -0400 Received: from mail-lf0-f73.google.com ([209.85.215.73]:50926 "EHLO mail-lf0-f73.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751799AbdITIOD (ORCPT ); Wed, 20 Sep 2017 04:14:03 -0400 Received: by mail-lf0-f73.google.com with SMTP id k4so292333lfg.9 for ; Wed, 20 Sep 2017 01:14:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:date:in-reply-to:message-id:references:subject:from:to :cc; bh=Ne+8vgCDETOgnUWElSHLgKmhGlB+BCtzT0QqjlMzhV8=; b=GkJhR1DEsP14lgX3MZRMFq3tsJ4ArY7I43Ra/HB+H5Rd5VbUXR/voD5K29JG5LvA0p BJ9IEqQt2wq2iqBXu59pKimRkjISJMVo58KHqKWuVO6EatKPfpMWr1SL/6V+WIkF+Pa1 PrgIPBqxxgwOZOR79sHjp9TNuvXMUtBMyzYr5bSClIe/H2kTgF+fjQCCw/gM/7jiWJGA gu7nJIQkFkFygF6GGx5lsdUfnhIozAUzUlm37W/cihpHl35VYQY87kRqrBsLcxGVpKmY VlpqGX66xNRmFBv1/FZBDYSRPjHgPpFNz8YY/a04eK3i6sH/s+znu8e1Pezldh4q/yKe CpsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:date:in-reply-to:message-id :references:subject:from:to:cc; bh=Ne+8vgCDETOgnUWElSHLgKmhGlB+BCtzT0QqjlMzhV8=; b=BIGc5n843yMAOzYXd99a9poSDUmOXEMLOPPs2ltWXQMWfcEbSv649rzOa0eZG3r4J8 uRy+XUCPRGLpE15pzS6uNu1QDv0Qvbc6hnVZY49/1XlL3o56BUp0/Kthrzr0mMu0fkmn a+r6P0Ma8cdwaAtOj6oEGw5T2N/8MDFgA1l8o4WbQQVFAvAVq1bX2LCE/ei2LimEg5vo 8M6DRHvFm0sBWY++7lls1aQ38UYUhOyCyQoXNpCUPmRN6S0UKhYuHrgzvWmHXpckTCI7 kzDXOxW2hd2CLixubP7cLUwFQJo1YFdAL5A31FJRrMPiPqA46YBUpQT3P2Wq/kFSvD4g vuWQ== X-Gm-Message-State: AHPjjUgB6+kLCEXAd1BY8tLC9+vd7ugrYw+ydbzXpSplOrnqv6OO33Zy acbS72kq0XRm8xi6UZ2YPdmE+dJvhQ== X-Google-Smtp-Source: AOwi7QB6Qht+VyM+y6ZKEROAYL/7I4Kx24KNBx1lvWSx6L1FpQHBhni3rJBFx8uxV4bGM14SSlXbaXP/rQ== MIME-Version: 1.0 X-Received: by 10.46.2.135 with SMTP id y7mr399398lje.7.1505895241791; Wed, 20 Sep 2017 01:14:01 -0700 (PDT) Date: Wed, 20 Sep 2017 10:13:36 +0200 In-Reply-To: <20170920081340.7413-1-tweek@google.com> Message-Id: <20170920081340.7413-2-tweek@google.com> References: <20170920081340.7413-1-tweek@google.com> X-Mailer: git-send-email 2.14.1.821.g8fa685d3b7-goog Subject: [PATCH v3 1/5] tpm: move tpm_eventlog.h outside of drivers folder From: Thiebaud Weksteen To: linux-efi@vger.kernel.org, linux-integrity@vger.kernel.org, tpmdd-devel@lists.sourceforge.net Cc: ard.biesheuvel@linaro.org, matt@codeblueprint.co.uk, linux-kernel@vger.kernel.org, mjg59@google.com, peterhuewe@gmx.de, jarkko.sakkinen@linux.intel.com, jgunthorpe@obsidianresearch.com, tpmdd@selhorst.net, Thiebaud Weksteen Sender: linux-integrity-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-integrity@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The generic definitions of data structures in tpm_eventlog.h are required by other part of the kernel (namely, the EFI stub). Signed-off-by: Thiebaud Weksteen --- drivers/char/tpm/tpm-chip.c | 3 +- drivers/char/tpm/tpm-interface.c | 2 +- drivers/char/tpm/tpm.h | 27 +++++++++++++++--- drivers/char/tpm/tpm1_eventlog.c | 2 +- drivers/char/tpm/tpm2_eventlog.c | 2 +- drivers/char/tpm/tpm_acpi.c | 2 +- drivers/char/tpm/tpm_of.c | 2 +- {drivers/char/tpm => include/linux}/tpm_eventlog.h | 32 +++++----------------- 8 files changed, 37 insertions(+), 35 deletions(-) rename {drivers/char/tpm => include/linux}/tpm_eventlog.h (77%) diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c index 67ec9d3d04f5..de2680118181 100644 --- a/drivers/char/tpm/tpm-chip.c +++ b/drivers/char/tpm/tpm-chip.c @@ -26,8 +26,9 @@ #include #include #include +#include + #include "tpm.h" -#include "tpm_eventlog.h" DEFINE_IDR(dev_nums_idr); static DEFINE_MUTEX(idr_lock); diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c index fe597e6c55c4..bd7091d510bd 100644 --- a/drivers/char/tpm/tpm-interface.c +++ b/drivers/char/tpm/tpm-interface.c @@ -30,9 +30,9 @@ #include #include #include +#include #include "tpm.h" -#include "tpm_eventlog.h" #define TPM_MAX_ORDINAL 243 #define TSC_MAX_ORDINAL 12 diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h index 04fbff2edbf3..46caccf6fd1a 100644 --- a/drivers/char/tpm/tpm.h +++ b/drivers/char/tpm/tpm.h @@ -34,6 +34,7 @@ #include #include #include +#include #include #ifdef CONFIG_X86 @@ -397,10 +398,6 @@ struct tpm_cmd_t { tpm_cmd_params params; } __packed; -struct tpm2_digest { - u16 alg_id; - u8 digest[SHA512_DIGEST_SIZE]; -} __packed; /* A string buffer type for constructing TPM commands. This is based on the * ideas of string buffer code in security/keys/trusted.h but is heap based @@ -581,4 +578,26 @@ int tpm2_prepare_space(struct tpm_chip *chip, struct tpm_space *space, u32 cc, u8 *cmd); int tpm2_commit_space(struct tpm_chip *chip, struct tpm_space *space, u32 cc, u8 *buf, size_t *bufsiz); + +extern const struct seq_operations tpm2_binary_b_measurements_seqops; + +#if defined(CONFIG_ACPI) +int tpm_read_log_acpi(struct tpm_chip *chip); +#else +static inline int tpm_read_log_acpi(struct tpm_chip *chip) +{ + return -ENODEV; +} +#endif +#if defined(CONFIG_OF) +int tpm_read_log_of(struct tpm_chip *chip); +#else +static inline int tpm_read_log_of(struct tpm_chip *chip) +{ + return -ENODEV; +} +#endif + +int tpm_bios_log_setup(struct tpm_chip *chip); +void tpm_bios_log_teardown(struct tpm_chip *chip); #endif diff --git a/drivers/char/tpm/tpm1_eventlog.c b/drivers/char/tpm/tpm1_eventlog.c index 9a8605e500b5..d6f70f365443 100644 --- a/drivers/char/tpm/tpm1_eventlog.c +++ b/drivers/char/tpm/tpm1_eventlog.c @@ -25,9 +25,9 @@ #include #include #include +#include #include "tpm.h" -#include "tpm_eventlog.h" static const char* tcpa_event_type_strings[] = { diff --git a/drivers/char/tpm/tpm2_eventlog.c b/drivers/char/tpm/tpm2_eventlog.c index 34a8afa69138..1ce4411292ba 100644 --- a/drivers/char/tpm/tpm2_eventlog.c +++ b/drivers/char/tpm/tpm2_eventlog.c @@ -21,9 +21,9 @@ #include #include #include +#include #include "tpm.h" -#include "tpm_eventlog.h" /* * calc_tpm2_event_size() - calculate the event size, where event diff --git a/drivers/char/tpm/tpm_acpi.c b/drivers/char/tpm/tpm_acpi.c index 169edf3ce86d..acc990ba376a 100644 --- a/drivers/char/tpm/tpm_acpi.c +++ b/drivers/char/tpm/tpm_acpi.c @@ -25,9 +25,9 @@ #include #include #include +#include #include "tpm.h" -#include "tpm_eventlog.h" struct acpi_tcpa { struct acpi_table_header hdr; diff --git a/drivers/char/tpm/tpm_of.c b/drivers/char/tpm/tpm_of.c index aadb7f464076..4a2f8c79231e 100644 --- a/drivers/char/tpm/tpm_of.c +++ b/drivers/char/tpm/tpm_of.c @@ -17,9 +17,9 @@ #include #include +#include #include "tpm.h" -#include "tpm_eventlog.h" int tpm_read_log_of(struct tpm_chip *chip) { diff --git a/drivers/char/tpm/tpm_eventlog.h b/include/linux/tpm_eventlog.h similarity index 77% rename from drivers/char/tpm/tpm_eventlog.h rename to include/linux/tpm_eventlog.h index b4b549559203..446656d1f317 100644 --- a/drivers/char/tpm/tpm_eventlog.h +++ b/include/linux/tpm_eventlog.h @@ -1,6 +1,5 @@ - -#ifndef __TPM_EVENTLOG_H__ -#define __TPM_EVENTLOG_H__ +#ifndef __LINUX_TPM_EVENTLOG_H__ +#define __LINUX_TPM_EVENTLOG_H__ #include @@ -104,6 +103,11 @@ struct tcg_event_field { u8 event[0]; } __packed; +struct tpm2_digest { + u16 alg_id; + u8 digest[SHA512_DIGEST_SIZE]; +} __packed; + struct tcg_pcr_event2 { u32 pcr_idx; u32 event_type; @@ -112,26 +116,4 @@ struct tcg_pcr_event2 { struct tcg_event_field event; } __packed; -extern const struct seq_operations tpm2_binary_b_measurements_seqops; - -#if defined(CONFIG_ACPI) -int tpm_read_log_acpi(struct tpm_chip *chip); -#else -static inline int tpm_read_log_acpi(struct tpm_chip *chip) -{ - return -ENODEV; -} -#endif -#if defined(CONFIG_OF) -int tpm_read_log_of(struct tpm_chip *chip); -#else -static inline int tpm_read_log_of(struct tpm_chip *chip) -{ - return -ENODEV; -} -#endif - -int tpm_bios_log_setup(struct tpm_chip *chip); -void tpm_bios_log_teardown(struct tpm_chip *chip); - #endif