{"push_id":976300766,"size":9,"distinct_size":9,"ref":"refs/heads/vtpm-driver.v3","head":"92b44ff32b059ce42d2f201a6c075c102fffdabb","before":"fba3f16aa0cb0726e030988853d7d34f10939843","commits":[{"sha":"6b5cb7c8ef40c7860e4cd57a9249697b03523027","author":{"email":"6e0a3da6445cd298bc4a6b3aaa269075849c9510@linux.intel.com","name":"Jarkko Sakkinen"},"message":"tpm: fix the cleanup of struct tpm_chip\n\nIf the initialization fails before tpm_chip_register(), put_device()\nwill be not called, which causes release callback not to be called.\nThis patch fixes the issue by adding put_device() to devres list of\nthe parent device.\n\nFixes: 313d21eeab (\"tpm: device class for tpm\")\nSigned-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>\ncc: stable@vger.kernel.org","distinct":true,"url":"https://api.github.com/repos/stefanberger/linux/commits/6b5cb7c8ef40c7860e4cd57a9249697b03523027"},{"sha":"b91ac89cb9fb6c9313e5082bf0a60a0e0186d63c","author":{"email":"5c96973112e540fb909b13997fcd087e5bfbee96@linux.vnet.ibm.com","name":"Stefan Berger"},"message":"get_rid_of_chip_pdev\n\nThis is a hold over from before the struct device conversion.\n\n- All prints should be using &chip->dev, which is the Linux\n  standard. This changes prints to use tpm0 as the device name,\n  not the PnP/etc ID.\n- The few places involving sysfs/modules that really do need the\n  parent just use chip->dev.parent instead\n- We no longer need to get_device(pdev) in any places since it is no\n  longer used by any of the code. The kref on the parent is held\n  by the device core during device_add and dropped in device_del\n\nSigned-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>","distinct":true,"url":"https://api.github.com/repos/stefanberger/linux/commits/b91ac89cb9fb6c9313e5082bf0a60a0e0186d63c"},{"sha":"5867d0dd696fb145b3cdac2753d5ffe465449156","author":{"email":"5c96973112e540fb909b13997fcd087e5bfbee96@linux.vnet.ibm.com","name":"Stefan Berger"},"message":"get_rid_of_devname\n\n===================================================================","distinct":true,"url":"https://api.github.com/repos/stefanberger/linux/commits/5867d0dd696fb145b3cdac2753d5ffe465449156"},{"sha":"a0ed5159759ff55860c2d3ca0894ed22673792ac","author":{"email":"5c96973112e540fb909b13997fcd087e5bfbee96@linux.vnet.ibm.com","name":"Stefan Berger"},"message":"Provide tpm_chip_alloc and tpmm_chip_dev\n\nSplit up tpmm_chip_alloc to call new tpm_chip_alloc and tpmm_chip_dev.\nMake these two new functions public. Once tpm_chip_alloc has been\ncalled, the chip can only be freed using put_device(&chip->dev).\n\nSigned-off-by:","distinct":true,"url":"https://api.github.com/repos/stefanberger/linux/commits/a0ed5159759ff55860c2d3ca0894ed22673792ac"},{"sha":"4d4c7b1973411898ffb9bfc1d5a87877d1123dd7","author":{"email":"5c96973112e540fb909b13997fcd087e5bfbee96@linux.vnet.ibm.com","name":"Stefan Berger"},"message":"Replace device number bitmap with IDR\n\nReplace the device number bitmap with IDR. Extend the number of\ndevices we can create to 64. Adjust the size of the device name\nbuffer. Since an IDR allows us to associate a pointer with an ID,\nwe use this now to also rewrite tpm_chip_find_get() to simply\nlook up the chip pointer by the given device numner (ID).\n\nSigned-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>","distinct":true,"url":"https://api.github.com/repos/stefanberger/linux/commits/4d4c7b1973411898ffb9bfc1d5a87877d1123dd7"},{"sha":"d61aabdc1e958ec2466f39969d5c71fe09986636","author":{"email":"5c96973112e540fb909b13997fcd087e5bfbee96@linux.vnet.ibm.com","name":"Stefan Berger"},"message":"Re-add the parent driver locking","distinct":true,"url":"https://api.github.com/repos/stefanberger/linux/commits/d61aabdc1e958ec2466f39969d5c71fe09986636"},{"sha":"feb61015783864b58fe8f6a627b1527ca3bfd111","author":{"email":"5c96973112e540fb909b13997fcd087e5bfbee96@linux.vnet.ibm.com","name":"Stefan Berger"},"message":"Implement driver for supporting multiple emulated TPMs\n\nThis patch implements a driver for supporting multiple emulated TPMs in a\nsystem.\n\nThe driver implements a device /dev/vtpmx that is used to created\na client device pair /dev/tpmX (e.g., /dev/tpm10) and a server side that\nis accessed using a file descriptor returned by an ioctl.\nThe device /dev/tpmX is the usual TPM device created by the core TPM\ndriver. Applications or kernel subsystems can send TPM commands to it\nand the corresponding server-side file descriptor receives these\ncommands and delivers them to an emulated TPM. The device /dev/tpmX can\nbe moved into a container and appear there as /dev/tpm0.\n\nSigned-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>","distinct":true,"url":"https://api.github.com/repos/stefanberger/linux/commits/feb61015783864b58fe8f6a627b1527ca3bfd111"},{"sha":"3bd8c2d2bb8f2be7183a103ab6311783cd8b301a","author":{"email":"5c96973112e540fb909b13997fcd087e5bfbee96@linux.vnet.ibm.com","name":"Stefan Berger"},"message":"Initialize TPM and get durations and timeouts\n\nAdd the retrieval of TPM 1.2 durations and timeouts. Since this requires\nthe startup of the TPM, do this for TPM 1.2 and TPM 2.\n\nTo not allow to interleave with commands from user space, so send the\nTPM_Startup as the first command. The timeouts can then be gotten at any\nlater time, even interleaved with commands from user space.\n\nSigned-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>","distinct":true,"url":"https://api.github.com/repos/stefanberger/linux/commits/3bd8c2d2bb8f2be7183a103ab6311783cd8b301a"},{"sha":"92b44ff32b059ce42d2f201a6c075c102fffdabb","author":{"email":"5c96973112e540fb909b13997fcd087e5bfbee96@linux.vnet.ibm.com","name":"Stefan Berger"},"message":"A test program for vTPM device creation\n\nThis patch provides a program that is for testing purposes only.\n\nBuild it using the following commands:\n\nmake headers_install ARCH=x86_64  INSTALL_HDR_PATH=/usr\n\ngcc vtpmctrl.c -o vtpmctrl\n\nTo use it:\n\nTo create a device pair and have vtpmctrl listen for commands, display\nthem and respond with TPM success messages do:\n\n#> ./vtpmctrl\nCreated TPM device /dev/tpm0; vTPM device has fd 4, major/minor = 10/224.\n\nIn another shell do\n\n#> exec 100<>/dev/tpm0\n#> /bin/echo -en '\\x00\\xc1\\x00\\x00\\x00\\x0a\\x00\\x00\\x00\\x00' >&100\n#> od -t x1 <&100\n00000000 00 c4 00 00 00 0a 00 00 00 00\n00000012\n#> exec 100>&-\n\nSigned-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>","distinct":true,"url":"https://api.github.com/repos/stefanberger/linux/commits/92b44ff32b059ce42d2f201a6c075c102fffdabb"}]}