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] [thread-next>] [day] [month] [year] [list]
Message-ID: <575f4693-129c-469c-e54e-dbb9ad2a66f2@huawei.com>
Date:   Mon, 4 Feb 2019 14:49:54 +0100
From:   Roberto Sassu <roberto.sassu@...wei.com>
To:     Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>,
        <linux-integrity@...r.kernel.org>
CC:     <linux-kernel@...r.kernel.org>,
        <linux-security-module@...r.kernel.org>, <zohar@...ux.ibm.com>,
        <stable@...r.kernel.org>
Subject: Re: [PATCH v2] tpm/st33zp24: Fix the name collisions in
 tpm_st33zp24_spi and tpm_i2c_infineon

On 2/4/2019 2:37 PM, Jarkko Sakkinen wrote:
> Rename TPM_BUFSIZE defined in drivers/char/tpm/st33zp24/st33zp24.h to
> ST33ZP24_BUFSIZE.
> 
> Rename TPM_BUFSIZE defined in drivers/char/tpm/tpm_i2c_infineon.c to
> TPM_I2C_INFINEON_BUFSIZE.

Please also add a prefix to TPM_RETRY in tpm_i2c_nuvoton.c.

Thanks

Roberto


> Cc: stable@...r.kernel.org
> Fixes: bf38b8710892 ("tpm/tpm_i2c_stm_st33: Split tpm_i2c_tpm_st33 in 2 layers (core + phy)")
> Fixes: aad628c1d91a ("char/tpm: Add new driver for Infineon I2C TIS TPM")
> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>
> ---
> v2: Fix also the name collision in tpm_ic2_infineon.
>   drivers/char/tpm/st33zp24/i2c.c      |  2 +-
>   drivers/char/tpm/st33zp24/spi.c      |  2 +-
>   drivers/char/tpm/st33zp24/st33zp24.h |  4 ++--
>   drivers/char/tpm/tpm_i2c_infineon.c  | 15 ++++++++-------
>   4 files changed, 12 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/char/tpm/st33zp24/i2c.c b/drivers/char/tpm/st33zp24/i2c.c
> index be5d1abd3e8e..8390c5b54c3b 100644
> --- a/drivers/char/tpm/st33zp24/i2c.c
> +++ b/drivers/char/tpm/st33zp24/i2c.c
> @@ -33,7 +33,7 @@
>   
>   struct st33zp24_i2c_phy {
>   	struct i2c_client *client;
> -	u8 buf[TPM_BUFSIZE + 1];
> +	u8 buf[ST33ZP24_BUFSIZE + 1];
>   	int io_lpcpd;
>   };
>   
> diff --git a/drivers/char/tpm/st33zp24/spi.c b/drivers/char/tpm/st33zp24/spi.c
> index d7909ab287a8..ff019a1e3c68 100644
> --- a/drivers/char/tpm/st33zp24/spi.c
> +++ b/drivers/char/tpm/st33zp24/spi.c
> @@ -63,7 +63,7 @@
>    * some latency byte before the answer is available (max 15).
>    * We have 2048 + 1024 + 15.
>    */
> -#define ST33ZP24_SPI_BUFFER_SIZE (TPM_BUFSIZE + (TPM_BUFSIZE / 2) +\
> +#define ST33ZP24_SPI_BUFFER_SIZE (ST33ZP24_BUFSIZE + (ST33ZP24_BUFSIZE / 2) +\
>   				  MAX_SPI_LATENCY)
>   
>   
> diff --git a/drivers/char/tpm/st33zp24/st33zp24.h b/drivers/char/tpm/st33zp24/st33zp24.h
> index 6f4a4198af6a..20da0a84988d 100644
> --- a/drivers/char/tpm/st33zp24/st33zp24.h
> +++ b/drivers/char/tpm/st33zp24/st33zp24.h
> @@ -18,8 +18,8 @@
>   #ifndef __LOCAL_ST33ZP24_H__
>   #define __LOCAL_ST33ZP24_H__
>   
> -#define TPM_WRITE_DIRECTION             0x80
> -#define TPM_BUFSIZE                     2048
> +#define TPM_WRITE_DIRECTION	0x80
> +#define ST33ZP24_BUFSIZE	2048
>   
>   struct st33zp24_dev {
>   	struct tpm_chip *chip;
> diff --git a/drivers/char/tpm/tpm_i2c_infineon.c b/drivers/char/tpm/tpm_i2c_infineon.c
> index 9086edc9066b..b9d5a1dda8d2 100644
> --- a/drivers/char/tpm/tpm_i2c_infineon.c
> +++ b/drivers/char/tpm/tpm_i2c_infineon.c
> @@ -26,8 +26,7 @@
>   #include <linux/wait.h>
>   #include "tpm.h"
>   
> -/* max. buffer size supported by our TPM */
> -#define TPM_BUFSIZE 1260
> +#define TPM_I2C_INFINEON_MAX_BUFSIZE 1260
>   
>   /* max. number of iterations after I2C NAK */
>   #define MAX_COUNT 3
> @@ -63,11 +62,13 @@ enum i2c_chip_type {
>   	UNKNOWN,
>   };
>   
> -/* Structure to store I2C TPM specific stuff */
>   struct tpm_inf_dev {
>   	struct i2c_client *client;
>   	int locality;
> -	u8 buf[TPM_BUFSIZE + sizeof(u8)]; /* max. buffer size + addr */
> +	/* In addition to the data itself, the buffer must fit the 7-bit I2C
> +	 * address and the direction bit.
> +	 */
> +	u8 buf[TPM_I2C_INFINEON_MAX_BUFSIZE + 1];
>   	struct tpm_chip *chip;
>   	enum i2c_chip_type chip_type;
>   	unsigned int adapterlimit;
> @@ -219,7 +220,7 @@ static int iic_tpm_write_generic(u8 addr, u8 *buffer, size_t len,
>   		.buf = tpm_dev.buf
>   	};
>   
> -	if (len > TPM_BUFSIZE)
> +	if (len > TPM_I2C_INFINEON_MAX_BUFSIZE)
>   		return -EINVAL;
>   
>   	if (!tpm_dev.client->adapter->algo->master_xfer)
> @@ -527,8 +528,8 @@ static int tpm_tis_i2c_send(struct tpm_chip *chip, u8 *buf, size_t len)
>   	u8 retries = 0;
>   	u8 sts = TPM_STS_GO;
>   
> -	if (len > TPM_BUFSIZE)
> -		return -E2BIG;	/* command is too long for our tpm, sorry */
> +	if (len > TPM_I2C_INFINEON_BUFSIZE)
> +		return -E2BIG;
>   
>   	if (request_locality(chip, 0) < 0)
>   		return -EBUSY;
> 

-- 
HUAWEI TECHNOLOGIES Duesseldorf GmbH, HRB 56063
Managing Director: Bo PENG, Jian LI, Yanli SHI

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ