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]
Date:   Tue, 5 Feb 2019 16:10:46 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>
Cc:     kbuild-all@...org, linux-integrity@...r.kernel.org,
        linux-kernel@...r.kernel.org,
        linux-security-module@...r.kernel.org, roberto.sassu@...wei.com,
        zohar@...ux.ibm.com,
        Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>,
        stable@...r.kernel.org
Subject: Re: [PATCH v2] tpm/st33zp24: Fix the name collisions in
 tpm_st33zp24_spi and tpm_i2c_infineon

Hi Jarkko,

I love your patch! Yet something to improve:

[auto build test ERROR on jss-tpmdd/next]
[also build test ERROR on v5.0-rc4 next-20190204]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jarkko-Sakkinen/tpm-st33zp24-Fix-the-name-collisions-in-tpm_st33zp24_spi-and-tpm_i2c_infineon/20190205-150003
base:   git://git.infradead.org/users/jjs/linux-tpmdd next
config: x86_64-randconfig-x013-201905 (attached as .config)
compiler: gcc-8 (Debian 8.2.0-14) 8.2.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/char//tpm/tpm_i2c_infineon.c: In function 'tpm_tis_i2c_send':
>> drivers/char//tpm/tpm_i2c_infineon.c:531:12: error: 'TPM_I2C_INFINEON_BUFSIZE' undeclared (first use in this function); did you mean 'TPM_I2C_INFINEON_MAX_BUFSIZE'?
     if (len > TPM_I2C_INFINEON_BUFSIZE)
               ^~~~~~~~~~~~~~~~~~~~~~~~
               TPM_I2C_INFINEON_MAX_BUFSIZE
   drivers/char//tpm/tpm_i2c_infineon.c:531:12: note: each undeclared identifier is reported only once for each function it appears in

vim +531 drivers/char//tpm/tpm_i2c_infineon.c

   522	
   523	static int tpm_tis_i2c_send(struct tpm_chip *chip, u8 *buf, size_t len)
   524	{
   525		int rc, status;
   526		ssize_t burstcnt;
   527		size_t count = 0;
   528		u8 retries = 0;
   529		u8 sts = TPM_STS_GO;
   530	
 > 531		if (len > TPM_I2C_INFINEON_BUFSIZE)
   532			return -E2BIG;
   533	
   534		if (request_locality(chip, 0) < 0)
   535			return -EBUSY;
   536	
   537		status = tpm_tis_i2c_status(chip);
   538		if ((status & TPM_STS_COMMAND_READY) == 0) {
   539			tpm_tis_i2c_ready(chip);
   540			if (wait_for_stat
   541			    (chip, TPM_STS_COMMAND_READY,
   542			     chip->timeout_b, &status) < 0) {
   543				rc = -ETIME;
   544				goto out_err;
   545			}
   546		}
   547	
   548		while (count < len - 1) {
   549			burstcnt = get_burstcount(chip);
   550	
   551			/* burstcnt < 0 = TPM is busy */
   552			if (burstcnt < 0)
   553				return burstcnt;
   554	
   555			if (burstcnt > (len - 1 - count))
   556				burstcnt = len - 1 - count;
   557	
   558			rc = iic_tpm_write(TPM_DATA_FIFO(tpm_dev.locality),
   559					   &(buf[count]), burstcnt);
   560			if (rc == 0)
   561				count += burstcnt;
   562			else if (rc < 0)
   563				retries++;
   564	
   565			/* avoid endless loop in case of broken HW */
   566			if (retries > MAX_COUNT_LONG) {
   567				rc = -EIO;
   568				goto out_err;
   569			}
   570	
   571			wait_for_stat(chip, TPM_STS_VALID,
   572				      chip->timeout_c, &status);
   573	
   574			if ((status & TPM_STS_DATA_EXPECT) == 0) {
   575				rc = -EIO;
   576				goto out_err;
   577			}
   578		}
   579	
   580		/* write last byte */
   581		iic_tpm_write(TPM_DATA_FIFO(tpm_dev.locality), &(buf[count]), 1);
   582		wait_for_stat(chip, TPM_STS_VALID, chip->timeout_c, &status);
   583		if ((status & TPM_STS_DATA_EXPECT) != 0) {
   584			rc = -EIO;
   585			goto out_err;
   586		}
   587	
   588		/* go and do it */
   589		iic_tpm_write(TPM_STS(tpm_dev.locality), &sts, 1);
   590	
   591		return len;
   592	out_err:
   593		tpm_tis_i2c_ready(chip);
   594		/* The TPM needs some time to clean up here,
   595		 * so we sleep rather than keeping the bus busy
   596		 */
   597		usleep_range(SLEEP_DURATION_RESET_LOW, SLEEP_DURATION_RESET_HI);
   598		release_locality(chip, tpm_dev.locality, 0);
   599		return rc;
   600	}
   601	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (28366 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ