Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1282227imm; Fri, 28 Sep 2018 15:35:13 -0700 (PDT) X-Google-Smtp-Source: ACcGV60AAdNGcW4sMoutmf+TB5X/+yy+DYiw0RaMilSK/1dW9pWomEkU5ccYEyyg+mgImNlqIx3p X-Received: by 2002:a63:65c7:: with SMTP id z190-v6mr590677pgb.146.1538174113245; Fri, 28 Sep 2018 15:35:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538174113; cv=none; d=google.com; s=arc-20160816; b=SAYs7zalbsqYBC1OndJXiWlk6CeuEV8Chkz4HIafBoUlCaN0g0KGOfDG8ZRc0YvQfC 39GKwcvx9g5WHbpKyr2OCTFQgP30c6V8VY5f3K5zWcNGCoePXW28oY+ltKbv6zW7RWM5 mlO1kT66syPUDX43ey4EHu/Bg/akCUWANNgqtrdAGrL3YVNvRXCxpIkwocnaPYqODD2N wnyxEplS2NnopH076yI//5p9p6cIIwvHb6fZgUhjusX+hNUdkNdqdpoAK/Af0wp1lPbF 5D/rKpS6BcSHsaWRMkBkXp1rt8LKkT9SH8E8tbbZ+ZyeTX8fDMkCH7KB4kXGWgrawP0a ERuQ== 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=w2kEyKFRKrAVdiPY8AG9C5jEQhfQCpMZrWUvAV0k5hU=; b=LU/SjlAAw1zLPx1NiofdSUm2eIZgxOc487BFlQlb+470DJ6R49Wb+v9HumZjsVfRsJ DZqHfkc6nUkfH4jcYTR1Upx1lfuDB8ZwNp/8moKeUH3vZaEX868+BwE5gCNeeHYnr8aL lHT6QQkyJcovr2DlJ1SbPMvOLf+ORVr2dETI6ubDV2ZIYV68L4uqD3t5SLewtpy2q4BT ri93IgvMyzGFFUo990Rkc6H9OfxWl7WrKL2pgBsPfNIqmsCySY/wBiflUJiwVKLS0853 62WT0ese9e0YrCmWDtwOHAlaJeJdBgN2k2l0i0pBNdaI734dffHYLurQ95CO+BcP8NdV 0oxg== 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 c126-v6si6086377pfa.130.2018.09.28.15.34.58; Fri, 28 Sep 2018 15:35:13 -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 S1727303AbeI2FAc (ORCPT + 99 others); Sat, 29 Sep 2018 01:00:32 -0400 Received: from mga09.intel.com ([134.134.136.24]:17973 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725938AbeI2FAc (ORCPT ); Sat, 29 Sep 2018 01:00:32 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Sep 2018 15:34:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,316,1534834800"; d="scan'208";a="267880087" Received: from twinkler-lnx.jer.intel.com ([10.12.91.48]) by fmsmga006.fm.intel.com with ESMTP; 28 Sep 2018 15:34:37 -0700 From: Tomas Winkler To: Jarkko Sakkinen , Jason Gunthorpe Cc: Nayna Jain , Alexander Usyskin , Tadeusz Struk , linux-integrity@vger.kernel.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, Tomas Winkler Subject: [PATCH v5 00/21] tpm: separate tpm 1.x and tpm 2.x commands Date: Sat, 29 Sep 2018 01:30:14 +0300 Message-Id: <20180928223035.14471-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: 8bit 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 (21): 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 tpm 1.x selftest code from tpm-interface.c tpm1-cmd.c tpm: factor out tpm 1.x 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.c 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 tmp1: rename tpm1_pcr_read_dev to tpm1_pcr_read(). tpm1: reimplement SAVESTATE using tpm_buf tpm1: reimplement tpm1_continue_selftest() using tpm_buf tpm: use u32 instead of int for PCR index 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 | 841 +++-------------------------------- drivers/char/tpm/tpm-sysfs.c | 52 +-- drivers/char/tpm/tpm.h | 98 ++-- drivers/char/tpm/tpm1-cmd.c | 781 ++++++++++++++++++++++++++++++++ drivers/char/tpm/tpm2-cmd.c | 344 +++++++------- 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 | 11 +- security/integrity/ima/ima_crypto.c | 5 +- 13 files changed, 1121 insertions(+), 1062 deletions(-) create mode 100644 drivers/char/tpm/tpm1-cmd.c -- 2.14.4