Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp4998863imm; Tue, 18 Sep 2018 02:41:08 -0700 (PDT) X-Google-Smtp-Source: ANB0VdbbiofRiozWn//Hgi9bcGpouowL4XsUsX0K817tWiKmSYRGb3f7uHZtNpuDt7Owni05EtxF X-Received: by 2002:a63:6d4f:: with SMTP id i76-v6mr26805494pgc.215.1537263668144; Tue, 18 Sep 2018 02:41:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537263668; cv=none; d=google.com; s=arc-20160816; b=LZehMwZQN48N+AXGP3ck8bLaZTjiGUGRZtL0vcZITjxrKmywFd8T8l83/6CCw5BhWr iPR4LL7Euedu9AoPgMfS+hd0GxwomgeeYGZYBQo9bD+AWmi0k8wFsjC9scvwo7fXShGp +h/7nLtMhJZ8BI8PQk72gFkrSNP7PS9CPY7gBYthwBPDDis3u36CZZjyUeCaoY04TR38 ArLh1AKjWBOd5qPXAPWmhtIvn0O5upZ/fafx4YaLYRbuUjGn8VvVlzGK6/bheiMpnBbu E1cObJoSqZXJgwIgWkQfPbeeH1/shJAqTvpmlccljGD42/rBW42n/SXlluHvQHVDyMNr NK4w== 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 :message-id:date:subject:cc:to:from; bh=nJ6O7pE/qshIIKDrN2Ma4ca2PMScC/LNAv33m6mTCpc=; b=szJ6FqYkbQyVv5fHeAk0vIl7NCtNCuGhBCbdjGEVeSeKVnzSDYAnfG3s/ImLByVROS Ru9HppS34WuoImi6/1c2kJdoqmiuxqb62nec9+TMkmDYcd9k5NlrEFI7u3W7bs/nV0we 00iF1rlu3ftT9RnNBz91JI68oFz0PBdOa8D4wWXc+XEl5sDSe5o0F6IM8eOYeepa4Oy6 WNzhCAY4RB18jqbDXDj1Ky6sHhUnBGrRuKgMAx41RHn9tLKKlNOxe5N/3qqD1Kg+HiWW 6QdgepMvNmdY7KjA3QihFIGp3LmsFtbEbhnies/L9vqb0ikz7rWDOJRA3aaUEs8XP1DW Z6FA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p17-v6si18509142pgd.352.2018.09.18.02.40.53; Tue, 18 Sep 2018 02:41:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729622AbeIRPJm (ORCPT + 99 others); Tue, 18 Sep 2018 11:09:42 -0400 Received: from mga14.intel.com ([192.55.52.115]:30811 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727563AbeIRPJm (ORCPT ); Tue, 18 Sep 2018 11:09:42 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Sep 2018 02:37:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,389,1531810800"; d="scan'208";a="71724087" Received: from twinkler-lnx.jer.intel.com ([10.12.91.48]) by fmsmga008.fm.intel.com with ESMTP; 18 Sep 2018 02:37:52 -0700 From: Tomas Winkler To: Jarkko Sakkinen , Jason Gunthorpe Cc: Alexander Usyskin , Tadeusz Struk , linux-integrity@vger.kernel.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, Tomas Winkler Subject: [PATCH v3 00/20] tpm: separate tpm 1.x and tpm 2.x commands Date: Tue, 18 Sep 2018 12:34:39 +0300 Message-Id: <20180918093459.19165-1-tomas.winkler@intel.com> X-Mailer: git-send-email 2.14.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series provides initial separation of tpm 1.x and tpm 2.x commands, in foresight that the tpm 1.x chips will eventually phase out and can be compiled out for modern systems. A new file is added tpm1-cmd.c that contains tpm 1.x specific commands. In addition, tpm 1.x commands are now implemented using tpm_buf structure and instead of tpm_cmd_t construct. The latter is now removed. Note: my tpm 1.x HW availability is limited hence some more testing is needed. This series also contains two trivial cleanups and addition of new commands by TCG spec 1.36, now supported on new Intet's platforms. Tomas Winkler (20): tpm2: add new tpm2 commands according to TCG 1.36 tpm: sort objects in the Makefile tpm: factor out tpm 1.x duration calculation to tpm1-cmd.c tpm: add tpm_calc_ordinal_duration wrapper tpm: factor out tpm_get_timeouts tpm: move tpm1_pcr_extend to tpm1-cmd.c tpm: move tpm_getcap to tpm1-cmd.c tpm: factor out tpm1_get_random into tpm1-cmd.c tpm: move tpm1 selftest code from tpm-interface tpm1-cmd.c tpm: factor out tpm1 pm suspend flow into tpm1-cmd.c tpm: factor out tpm_startup function tpm: move pcr extend code to tpm2-cmd.c tpm: add tpm_auto_startup into tpm-interface tpm: tpm-interface.c drop unused macros tpm: tpm-space.c remove unneeded semicolon tpm: tpm1: rewrite tpm1_get_random() using tpm_buf structure tpm1: implement tpm1_pcr_read_dev() using tpm_buf structure tpm: use u32 instead of int for pcr index tpm1: reimplement SAVESTATE using tpm_buf tpm1: reimplement tpm1_continue_selftest() using tpm_buf drivers/char/tpm/Makefile | 16 +- drivers/char/tpm/st33zp24/st33zp24.c | 2 +- drivers/char/tpm/tpm-chip.c | 11 +- drivers/char/tpm/tpm-interface.c | 829 ++--------------------------------- drivers/char/tpm/tpm-sysfs.c | 52 +-- drivers/char/tpm/tpm.h | 98 ++--- drivers/char/tpm/tpm1-cmd.c | 776 ++++++++++++++++++++++++++++++++ drivers/char/tpm/tpm2-cmd.c | 279 ++++++------ drivers/char/tpm/tpm2-space.c | 2 +- drivers/char/tpm/tpm_i2c_nuvoton.c | 10 +- drivers/char/tpm/tpm_tis_core.c | 10 +- include/linux/tpm.h | 2 +- security/integrity/ima/ima_crypto.c | 5 +- 13 files changed, 1061 insertions(+), 1031 deletions(-) create mode 100644 drivers/char/tpm/tpm1-cmd.c -- 2.14.4