From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751106AbdE3EwQ (ORCPT ); Tue, 30 May 2017 00:52:16 -0400 Received: from mga09.intel.com ([134.134.136.24]:3114 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750904AbdE3EwP (ORCPT ); Tue, 30 May 2017 00:52:15 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,417,1491289200"; d="scan'208";a="106897170" Date: Tue, 30 May 2017 07:52:08 +0300 From: Jarkko Sakkinen To: Jason Gunthorpe Cc: tpmdd-devel@lists.sourceforge.net, linux-security-module@vger.kernel.org, Peter Huewe , Marcel Selhorst , open list Subject: Re: [PATCH RFC] tpm: migrate pubek_show to struct tpm_buf Message-ID: <20170530045208.vqnik6t3zulp4mxe@intel.com> References: <20170525211105.843-1-jarkko.sakkinen@linux.intel.com> <20170525211613.GA14802@obsidianresearch.com> <20170525222801.mayost6gxcggurjo@intel.com> <20170525224050.GA15715@obsidianresearch.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170525224050.GA15715@obsidianresearch.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 25, 2017 at 04:40:50PM -0600, Jason Gunthorpe wrote: > On Thu, May 25, 2017 at 03:28:01PM -0700, Jarkko Sakkinen wrote: > > On Thu, May 25, 2017 at 03:16:13PM -0600, Jason Gunthorpe wrote: > > > On Thu, May 25, 2017 at 02:11:04PM -0700, Jarkko Sakkinen wrote: > > > > struct tpm_chip *chip = to_tpm_chip(dev); > > > > + char anti_replay[20]; > > > > > > > > - tpm_cmd.header.in = tpm_readpubek_header; > > > > - err = tpm_transmit_cmd(chip, NULL, &tpm_cmd, READ_PUBEK_RESULT_SIZE, > > > > + rc = tpm_buf_init(&tpm_buf, TPM_TAG_RQU_COMMAND, TPM_ORD_READPUBEK); > > > > + if (rc) > > > > + return rc; > > > > + > > > > + /* The checksum is ignored so it doesn't matter what the contents are. > > > > + */ > > > > + tpm_buf_append(&tpm_buf, anti_replay, sizeof(anti_replay)); > > > > > > It does matter, we do not want to leak random kernel memory incase it > > > has something sensitive. Zero anti_replay. > > > > If there was a leak it has existed before this change as tpm_cmd was > > also allocated from stack. And there is not leak because the checksum is > > not printed. > > It leaks stack memory to the TPM which is not OK. Right, of course, vtpm_tpm_proxy. /Jarkko