Skip to content

Commit

Permalink
tpm: move tpm_eventlog.h outside of drivers folder
Browse files Browse the repository at this point in the history
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 <tweek@google.com>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Tested-by: Javier Martinez Canillas <javierm@redhat.com>
Tested-by: Jarkko Sakkinen  <jarkko.sakkinen@linux.intel.com>
Reviewed-by: Jarkko Sakkinen  <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen  <jarkko.sakkinen@linux.intel.com>
  • Loading branch information
Thiebaud Weksteen authored and Jarkko Sakkinen committed Jan 8, 2018
1 parent 5ef924d commit fd3ec36
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 34 deletions.
3 changes: 2 additions & 1 deletion drivers/char/tpm/tpm-chip.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@
#include <linux/spinlock.h>
#include <linux/freezer.h>
#include <linux/major.h>
#include <linux/tpm_eventlog.h>

#include "tpm.h"
#include "tpm_eventlog.h"

DEFINE_IDR(dev_nums_idr);
static DEFINE_MUTEX(idr_lock);
Expand Down
2 changes: 1 addition & 1 deletion drivers/char/tpm/tpm-interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@
#include <linux/spinlock.h>
#include <linux/freezer.h>
#include <linux/pm_runtime.h>
#include <linux/tpm_eventlog.h>

#include "tpm.h"
#include "tpm_eventlog.h"

#define TPM_MAX_ORDINAL 243
#define TSC_MAX_ORDINAL 12
Expand Down
27 changes: 23 additions & 4 deletions drivers/char/tpm/tpm.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include <linux/acpi.h>
#include <linux/cdev.h>
#include <linux/highmem.h>
#include <linux/tpm_eventlog.h>
#include <crypto/hash_info.h>

#ifdef CONFIG_X86
Expand Down Expand Up @@ -385,10 +386,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
Expand Down Expand Up @@ -573,4 +570,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
2 changes: 1 addition & 1 deletion drivers/char/tpm/tpm1_eventlog.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
#include <linux/security.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/tpm_eventlog.h>

#include "tpm.h"
#include "tpm_eventlog.h"


static const char* tcpa_event_type_strings[] = {
Expand Down
2 changes: 1 addition & 1 deletion drivers/char/tpm/tpm2_eventlog.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
#include <linux/security.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/tpm_eventlog.h>

#include "tpm.h"
#include "tpm_eventlog.h"

/*
* calc_tpm2_event_size() - calculate the event size, where event
Expand Down
2 changes: 1 addition & 1 deletion drivers/char/tpm/tpm_acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/acpi.h>
#include <linux/tpm_eventlog.h>

#include "tpm.h"
#include "tpm_eventlog.h"

struct acpi_tcpa {
struct acpi_table_header hdr;
Expand Down
2 changes: 1 addition & 1 deletion drivers/char/tpm/tpm_of.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@

#include <linux/slab.h>
#include <linux/of.h>
#include <linux/tpm_eventlog.h>

#include "tpm.h"
#include "tpm_eventlog.h"

int tpm_read_log_of(struct tpm_chip *chip)
{
Expand Down
31 changes: 7 additions & 24 deletions drivers/char/tpm/tpm_eventlog.h → include/linux/tpm_eventlog.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 */

#ifndef __TPM_EVENTLOG_H__
#define __TPM_EVENTLOG_H__
#ifndef __LINUX_TPM_EVENTLOG_H__
#define __LINUX_TPM_EVENTLOG_H__

#include <crypto/hash_info.h>

Expand Down Expand Up @@ -105,6 +105,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;
Expand All @@ -113,26 +118,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

0 comments on commit fd3ec36

Please sign in to comment.