From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> To: linux-integrity@vger.kernel.org Cc: linux-security-module@vger.kernel.org, James Bottomley <James.Bottomley@HansenPartnership.com>, Tomas Winkler <tomas.winkler@intel.com>, Tadeusz Struk <tadeusz.struk@intel.com>, Stefan Berger <stefanb@linux.vnet.ibm.com>, Nayna Jain <nayna@linux.ibm.com>, Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>, Jason Gunthorpe <jgg@ziepe.ca>, linux-arm-kernel@lists.infradead.org (moderated list:ARM/Microchip (AT91) SoC support), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v8 00/17] Removed nested TPM operations Date: Fri, 16 Nov 2018 14:38:24 +0200 [thread overview] Message-ID: <20181116123845.15705-1-jarkko.sakkinen@linux.intel.com> (raw) [was Detach TPM space code out of the tpm_transmit() flow but the scope expanded a bit.] Make the changes necessary to detach TPM space code and TPM activation code out of the tpm_transmit() flow because of both of these can cause nested tpm_transmit() calls. The nesteds calls make the whole flow hard to maintain, and thus, it is better to just fix things now before this turns into a bigger mess. v8: * Re-add the check for ret < 0 after calling tpm_try_transmit() that was dropped by mistake while moving code. * Fix error fallback for tpm_try_get_ops() when tpm_chip_start() fails. v7: * Reorganize series so that more trivial and self-contained changes are in the head. v6: * When tpm_validate_commmand() was moved to tpm2-space.c, the struct for the TPM header was incorrectly declared as struct tpm_input_header. * Fix return value in tpm_validate_command(). v5: * Add the missing rev's from Stefan Berger. v4: * Return 0 from pcrs_show() when tpm1_pcr_read() fails. * Fix error handling flow in tpm_try_transmit(). * Replace struct tpm_input_header and struct tpm_output_header with struct tpm_header. v3: * Encapsulate power gating code to tpm_chip_start() and tpm_chip_stop(). * Move TPM power gating code and locking to tpm_try_get_ops() and tpm_put_ops(). * Call power gating code directly in tpm_chip_register() and tpm2_del_space(). v2: * Print tpm2_commit_space() error inside tpm2_commit_space() * Error code was not printed when recv() callback failed. It is fixed in this version. * Added a patch that removes @space from tpm_transmit(). * Fixed a regression in earlier series. Forgot to amend the change from the staging area that renames NESTED to UNLOCKED in tpm2-space.c. Jarkko Sakkinen (17): tpm: use tpm_buf in tpm_transmit_cmd() as the IO parameter tpm: fix invalid return value in pubek_show() tpm: return 0 from pcrs_show() when tpm1_pcr_read() fails tpm: print tpm2_commit_space() error inside tpm2_commit_space() tpm: declare struct tpm_header tpm: access command header through struct in tpm_try_transmit() tpm: encapsulate tpm_dev_transmit() tpm: call tpm2_flush_space() on error in tpm_try_transmit() tpm: clean up tpm_try_transmit() error handling flow tpm: move tpm_validate_commmand() to tpm2-space.c tpm: move TPM space code out of tpm_transmit() tpm: remove @space from tpm_transmit() tpm: use tpm_try_get_ops() in tpm-sysfs.c. tpm: remove TPM_TRANSMIT_UNLOCKED flag tpm: introduce tpm_chip_start() and tpm_chip_stop() tpm: take TPM chip power gating out of tpm_transmit() tpm: remove @flags from tpm_transmit() drivers/char/tpm/tpm-chip.c | 107 +++++++++++- drivers/char/tpm/tpm-dev-common.c | 45 ++++- drivers/char/tpm/tpm-interface.c | 264 ++++++------------------------ drivers/char/tpm/tpm-sysfs.c | 138 ++++++++++------ drivers/char/tpm/tpm.h | 64 +++----- drivers/char/tpm/tpm1-cmd.c | 28 +--- drivers/char/tpm/tpm2-cmd.c | 72 +++----- drivers/char/tpm/tpm2-space.c | 93 ++++++++--- drivers/char/tpm/tpm_i2c_atmel.c | 5 +- drivers/char/tpm/tpm_vtpm_proxy.c | 12 +- drivers/char/tpm/xen-tpmfront.c | 2 +- 11 files changed, 407 insertions(+), 423 deletions(-) -- 2.19.1
WARNING: multiple messages have this Message-ID (diff)
From: jarkko.sakkinen@linux.intel.com (Jarkko Sakkinen) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v8 00/17] Removed nested TPM operations Date: Fri, 16 Nov 2018 14:38:24 +0200 [thread overview] Message-ID: <20181116123845.15705-1-jarkko.sakkinen@linux.intel.com> (raw) [was Detach TPM space code out of the tpm_transmit() flow but the scope expanded a bit.] Make the changes necessary to detach TPM space code and TPM activation code out of the tpm_transmit() flow because of both of these can cause nested tpm_transmit() calls. The nesteds calls make the whole flow hard to maintain, and thus, it is better to just fix things now before this turns into a bigger mess. v8: * Re-add the check for ret < 0 after calling tpm_try_transmit() that was dropped by mistake while moving code. * Fix error fallback for tpm_try_get_ops() when tpm_chip_start() fails. v7: * Reorganize series so that more trivial and self-contained changes are in the head. v6: * When tpm_validate_commmand() was moved to tpm2-space.c, the struct for the TPM header was incorrectly declared as struct tpm_input_header. * Fix return value in tpm_validate_command(). v5: * Add the missing rev's from Stefan Berger. v4: * Return 0 from pcrs_show() when tpm1_pcr_read() fails. * Fix error handling flow in tpm_try_transmit(). * Replace struct tpm_input_header and struct tpm_output_header with struct tpm_header. v3: * Encapsulate power gating code to tpm_chip_start() and tpm_chip_stop(). * Move TPM power gating code and locking to tpm_try_get_ops() and tpm_put_ops(). * Call power gating code directly in tpm_chip_register() and tpm2_del_space(). v2: * Print tpm2_commit_space() error inside tpm2_commit_space() * Error code was not printed when recv() callback failed. It is fixed in this version. * Added a patch that removes @space from tpm_transmit(). * Fixed a regression in earlier series. Forgot to amend the change from the staging area that renames NESTED to UNLOCKED in tpm2-space.c. Jarkko Sakkinen (17): tpm: use tpm_buf in tpm_transmit_cmd() as the IO parameter tpm: fix invalid return value in pubek_show() tpm: return 0 from pcrs_show() when tpm1_pcr_read() fails tpm: print tpm2_commit_space() error inside tpm2_commit_space() tpm: declare struct tpm_header tpm: access command header through struct in tpm_try_transmit() tpm: encapsulate tpm_dev_transmit() tpm: call tpm2_flush_space() on error in tpm_try_transmit() tpm: clean up tpm_try_transmit() error handling flow tpm: move tpm_validate_commmand() to tpm2-space.c tpm: move TPM space code out of tpm_transmit() tpm: remove @space from tpm_transmit() tpm: use tpm_try_get_ops() in tpm-sysfs.c. tpm: remove TPM_TRANSMIT_UNLOCKED flag tpm: introduce tpm_chip_start() and tpm_chip_stop() tpm: take TPM chip power gating out of tpm_transmit() tpm: remove @flags from tpm_transmit() drivers/char/tpm/tpm-chip.c | 107 +++++++++++- drivers/char/tpm/tpm-dev-common.c | 45 ++++- drivers/char/tpm/tpm-interface.c | 264 ++++++------------------------ drivers/char/tpm/tpm-sysfs.c | 138 ++++++++++------ drivers/char/tpm/tpm.h | 64 +++----- drivers/char/tpm/tpm1-cmd.c | 28 +--- drivers/char/tpm/tpm2-cmd.c | 72 +++----- drivers/char/tpm/tpm2-space.c | 93 ++++++++--- drivers/char/tpm/tpm_i2c_atmel.c | 5 +- drivers/char/tpm/tpm_vtpm_proxy.c | 12 +- drivers/char/tpm/xen-tpmfront.c | 2 +- 11 files changed, 407 insertions(+), 423 deletions(-) -- 2.19.1
next reply other threads:[~2018-11-16 12:39 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-11-16 12:38 Jarkko Sakkinen [this message] 2018-11-16 12:38 ` [PATCH v8 00/17] Removed nested TPM operations Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 01/17] tpm: use tpm_buf in tpm_transmit_cmd() as the IO parameter Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 02/17] tpm: fix invalid return value in pubek_show() Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 03/17] tpm: return 0 from pcrs_show() when tpm1_pcr_read() fails Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 04/17] tpm: print tpm2_commit_space() error inside tpm2_commit_space() Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 05/17] tpm: declare struct tpm_header Jarkko Sakkinen 2018-11-16 12:38 ` Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 06/17] tpm: access command header through struct in tpm_try_transmit() Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 07/17] tpm: encapsulate tpm_dev_transmit() Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 08/17] tpm: call tpm2_flush_space() on error in tpm_try_transmit() Jarkko Sakkinen 2018-11-16 16:19 ` Sasha Levin 2018-11-18 7:36 ` Jarkko Sakkinen 2018-11-18 23:21 ` Sasha Levin 2018-11-19 12:57 ` Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 09/17] tpm: clean up tpm_try_transmit() error handling flow Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 10/17] tpm: move tpm_validate_commmand() to tpm2-space.c Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 11/17] tpm: move TPM space code out of tpm_transmit() Jarkko Sakkinen 2018-11-16 17:06 ` Stefan Berger 2018-11-16 12:38 ` [PATCH v8 12/17] tpm: remove @space from tpm_transmit() Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 13/17] tpm: use tpm_try_get_ops() in tpm-sysfs.c Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 14/17] tpm: remove TPM_TRANSMIT_UNLOCKED flag Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 15/17] tpm: introduce tpm_chip_start() and tpm_chip_stop() Jarkko Sakkinen 2018-11-16 17:00 ` Stefan Berger 2018-11-16 12:38 ` [PATCH v8 16/17] tpm: take TPM chip power gating out of tpm_transmit() Jarkko Sakkinen 2018-11-16 17:02 ` Stefan Berger 2018-11-18 7:37 ` Jarkko Sakkinen 2018-11-16 12:38 ` [PATCH v8 17/17] tpm: remove @flags from tpm_transmit() Jarkko Sakkinen 2018-11-16 17:02 ` Stefan Berger
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20181116123845.15705-1-jarkko.sakkinen@linux.intel.com \ --to=jarkko.sakkinen@linux.intel.com \ --cc=James.Bottomley@HansenPartnership.com \ --cc=jgg@ziepe.ca \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-integrity@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-security-module@vger.kernel.org \ --cc=nayna@linux.ibm.com \ --cc=stefanb@linux.vnet.ibm.com \ --cc=tadeusz.struk@intel.com \ --cc=tomas.winkler@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.