lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sun, 24 Dec 2017 21:47:03 +0200
From:   Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>
To:     Azhar Shaikh <azhar.shaikh@...el.com>
Cc:     jgg@...pe.ca, peterhuewe@....de,
        linux-security-module@...r.kernel.org,
        linux-integrity@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v6 0/2] Fix corner cases with disabling CLKRUN in tpm_tis

On Fri, Dec 22, 2017 at 12:13:42PM -0800, Azhar Shaikh wrote:
> Changes from v1:
> - Patch 1: "tpm: Keep CLKRUN enabled throughout the duration of transmit_cmd()"
>   - Add NULL checks before calling clk_toggle callback
>   - Use IS_ENABLED instead of ifdef in tpm_tis_clkrun_toggle()
>   - Do not call tpm_platform_begin_xfer() and tpm_platform_end_xfer()
>     from tpm_tis_clkrun_toggle(). Make them static again.
> 
> - Patch 2: "tpm_tis: Move ilb_base_addr to tpm_tis_tcg_phy"
>   - This is a new patch in this series as per suggestion from Jason.
>   - Is the current implementation ok or I should move the code in tpm_tis_pnp_remove()
>     and tpm_tis_plat_remove() inside tpm_tis_remove(). That way all the unmapping
>     can be done in one place, instead of 3 different places now. Also the unmapping
>     in tpm_tis_init() can be moved to tpm_tis_remove(), since in case of error
>     tpm_tis_core_init() calls tpm_tis_remove(). Kindly suggest.
> 
> Changes from v2:
> - Patch 1: "tpm: Keep CLKRUN enabled throughout the duration of transmit_cmd()"
>   - No changes
> 
> - Patch 2: "tpm_tis: Move ilb_base_addr to tpm_tis_tcg_phy"
>   - Updated is_bsw() function to have the #ifdef CONFIG_X86 check within the function
>     itself. Also removed the #ifdef CONFIG_X86 from all other places around is_bsw()
> 
> Changes from v3:
> - Patch 1: "tpm: Keep CLKRUN enabled throughout the duration of transmit_cmd()"
>   - Change function name from clk_toggle to clk_enable
>   - Update the commit message.
> 
> - Patch 2: "tpm_tis: Move ilb_base_addr to tpm_tis_tcg_phy"
>   - No changes
> 
> Changes from v4:
> - The numbering of patches is now interchanged.
> 
> - Patch 1: "tpm_tis: Move ilb_base_addr to tpm_tis_data"
>   - Had to move ilb_base_addr to tpm_tis_data, from tpm_tis_tcg_phy.
>     Since the ioremapping of ilb_base_addr had to be done before any TPM access,
>     hence moved the variable to tpm_tis_data.
>   - Also move the ioremapping of ilb_base_addr from tpm_tis_init() to
>     tpm_tis_core_init() i.e. before any TPM access is done.
>   - Rename marco LPC_CNTRL_REG_OFFSET to LPC_CNTRL_OFFSET
>   - Update the commit message.
> 
> - Patch 2: "tpm: Keep CLKRUN enabled throughout the duration of transmit_cmd()"
>   - Remove the functions tpm_platform_begin_xfer() and tpm_platform_end_xfer()
>   - Move the code from these functions to tpm_tis_clkrun_enable().
> 
> Changes from v5:
> - Patch 1: "tpm_tis: Move ilb_base_addr to tpm_tis_data"
>   - No changes
> 
> - Patch 2: "tpm: Keep CLKRUN enabled throughout the duration of transmit_cmd()"
>   - Update the commit message.
> 
> Changes from v6:
> - - Patch 1: "tpm_tis: Move ilb_base_addr to tpm_tis_data"
>   - No changes
> 
> - Patch 2: "tpm: Keep CLKRUN enabled throughout the duration of transmit_cmd()"
>   - chip->ops was set to NULL in tpm_del_char_device() called from tpm_chip_unregister() in
>     error/driver exit path. Fix this code. (Suggested by Javier Martinez Canillas and Jason Gunthorpe)
>   - Add a comment in tpm_tis_clkrun_enable() function.
> 
> Azhar Shaikh (2):
>   tpm_tis: Move ilb_base_addr to tpm_tis_data
>   tpm: Keep CLKRUN enabled throughout the duration of transmit_cmd()
> 
>  drivers/char/tpm/tpm-interface.c |   6 ++
>  drivers/char/tpm/tpm_tis.c       | 121 ++++++---------------------------------
>  drivers/char/tpm/tpm_tis_core.c  | 111 +++++++++++++++++++++++++++++++++--
>  drivers/char/tpm/tpm_tis_core.h  |  17 ++++++
>  include/linux/tpm.h              |   1 +
>  5 files changed, 147 insertions(+), 109 deletions(-)
> 
> -- 
> 1.9.1
> 

Reviewed-by: Jarkko Sakkinen <jarkko.sakkine@...ux.intel.com>
Tested-by: Jarkko Sakkinen <jarkko.sakkine@...ux.intel.com> (with SPI
TPM on Sandybridge machine)

/Jarkko

Powered by blists - more mailing lists