On Mon, 2019-07-08 at 17:34 +0300, Jarkko Sakkinen wrote:
On Thu, 2019-07-04 at 09:26 +0200, Milan Broz wrote:
If clk_enable is not defined and chip initialization is canceled code hits null dereference.
Easily reproducible with vTPM init fail: swtpm chardev --tpmstate dir=nonexistent_dir --tpm2 --vtpm-proxy
BUG: kernel NULL pointer dereference, address: 00000000 ... Call Trace: tpm_chip_start+0x9d/0xa0 [tpm] tpm_chip_register+0x10/0x1a0 [tpm] vtpm_proxy_work+0x11/0x30 [tpm_vtpm_proxy] process_one_work+0x214/0x5a0 worker_thread+0x134/0x3e0 ? process_one_work+0x5a0/0x5a0 kthread+0xd4/0x100 ? process_one_work+0x5a0/0x5a0 ? kthread_park+0x90/0x90 ret_from_fork+0x19/0x24
Fixes: 719b7d81f204 ("tpm: introduce tpm_chip_start() and tpm_chip_stop()") Cc: stable@vger.kernel.org # v5.1+ Signed-off-by: Milan Broz gmazyland@gmail.com
Looks legit.
Reviewed-by: Jarkko Sakkinen jarkko.sakkinen@linux.intel.com
Please check master and next branches from
git://git.infradead.org/users/jjs/linux-tpmdd.git
/Jarkko