From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750782AbdAVXor (ORCPT ); Sun, 22 Jan 2017 18:44:47 -0500 Received: from mga06.intel.com ([134.134.136.31]:6890 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750703AbdAVXoq (ORCPT ); Sun, 22 Jan 2017 18:44:46 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,270,1477983600"; d="scan'208";a="812008506" From: Jarkko Sakkinen To: tpmdd-devel@lists.sourceforge.net Cc: linux-security-module@vger.kernel.org, Jarkko Sakkinen , Jason Gunthorpe , linux-kernel@vger.kernel.org (open list) Subject: [PATCH RFC v4 0/5] RFC: in-kernel resource manager Date: Mon, 23 Jan 2017 01:44:28 +0200 Message-Id: <20170122234438.12102-1-jarkko.sakkinen@linux.intel.com> X-Mailer: git-send-email 2.9.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch set adds support for TPM spaces that provide a context for isolating and swapping transient objects. The content does not yet include support for policy and HMAC sessions. There's a test script for trying out TPM spaces in git://git.infradead.org/users/jjs/tpm2-scripts.git A simple smoke test can be run by sudo python -m unittest -v tpm2_smoke.SpaceTest v2: Changed to James' proposal of API. I did not make any other changes except split core TPM space code its own patch because I want to find consensus on the API before polishing the corners. Thus, this version also carries the RFC tag. I have not yet locked in my standpoint whether ioctl or a device file is a better deal. v3: - Check TPM return code in tpm_map_response. - Reference tracking for /dev/tpms0. - clear_bit(is_open) was removed from tpm-dev.c. Added it back. - Use response length as the buffer size limit in tpm2_commit_space. - This version now passes again my smoke tests. v4: - Lots of small bug fixes and clean ups. - Quirk for TPM2_CC_FlushHandle James Bottomley (2): tpm: split out tpm-dev.c into tpm-dev.c and tpm-common-dev.c tpm2: expose spaces via a device link /dev/tpms Jarkko Sakkinen (3): tpm: validate TPM 2.0 commands tpm: export tpm2_flush_context_cmd tpm: infrastructure for TPM spaces drivers/char/tpm/Makefile | 2 +- drivers/char/tpm/tpm-chip.c | 78 ++++++++- drivers/char/tpm/tpm-dev-common.c | 145 ++++++++++++++++ drivers/char/tpm/tpm-dev.c | 140 ++-------------- drivers/char/tpm/tpm-dev.h | 27 +++ drivers/char/tpm/tpm-interface.c | 113 +++++++++---- drivers/char/tpm/tpm-sysfs.c | 2 +- drivers/char/tpm/tpm.h | 57 ++++++- drivers/char/tpm/tpm2-cmd.c | 150 ++++++++++++----- drivers/char/tpm/tpm2-space.c | 336 ++++++++++++++++++++++++++++++++++++++ drivers/char/tpm/tpms-dev.c | 65 ++++++++ 11 files changed, 903 insertions(+), 212 deletions(-) create mode 100644 drivers/char/tpm/tpm-dev-common.c create mode 100644 drivers/char/tpm/tpm-dev.h create mode 100644 drivers/char/tpm/tpm2-space.c create mode 100644 drivers/char/tpm/tpms-dev.c -- 2.9.3