From patchwork Tue Apr 5 14:23:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jarkko Sakkinen X-Patchwork-Id: 8752651 Return-Path: X-Original-To: patchwork-tpmdd-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 2BF7DC0553 for ; Tue, 5 Apr 2016 14:24:45 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A0F2120383 for ; Tue, 5 Apr 2016 14:24:39 +0000 (UTC) Received: from lists.sourceforge.net (lists.sourceforge.net [216.34.181.88]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8846E201F2 for ; Tue, 5 Apr 2016 14:24:38 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=sfs-ml-4.v29.ch3.sourceforge.com) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1anRuF-00049W-5W; Tue, 05 Apr 2016 14:24:35 +0000 Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1anRuD-00049O-Ka for tpmdd-devel@lists.sourceforge.net; Tue, 05 Apr 2016 14:24:33 +0000 X-ACL-Warn: Received: from mga01.intel.com ([192.55.52.88]) by sog-mx-3.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1anRuB-00045p-PB for tpmdd-devel@lists.sourceforge.net; Tue, 05 Apr 2016 14:24:33 +0000 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP; 05 Apr 2016 07:24:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,444,1455004800"; d="scan'208";a="938720600" Received: from ddacost1-mobl1.ger.corp.intel.com (HELO localhost) ([10.252.5.84]) by fmsmga001.fm.intel.com with ESMTP; 05 Apr 2016 07:24:23 -0700 From: Jarkko Sakkinen To: Peter Huewe Date: Tue, 5 Apr 2016 17:23:41 +0300 Message-Id: <1459866221-20052-1-git-send-email-jarkko.sakkinen@linux.intel.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: -1.0 (-) X-Headers-End: 1anRuB-00045p-PB Cc: open list , "moderated list:TPM DEVICE DRIVER" , Christophe Ricard Subject: [tpmdd-devel] [PATCH] tpm: fix tpm_transmit() parameters X-BeenThere: tpmdd-devel@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: Tpm Device Driver maintainance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: tpmdd-devel-bounces@lists.sourceforge.net X-Spam-Status: No, score=-7.9 required=5.0 tests=BAYES_00, HK_RANDOM_ENVFROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Changed the type of 'buf' from 'const char *' to 'u8*' because the contents of the 'buf' get modified by the function and to better match the API in struct tpm_class_ops. Renamed 'bufsize' to 'len' in order to better match the API in struct tpm_class_ops. Signed-off-by: Jarkko Sakkinen Reviewed-by: Peter Huewe --- drivers/char/tpm/tpm-interface.c | 15 +++++++-------- drivers/char/tpm/tpm.h | 3 +-- drivers/char/tpm/tpm2-cmd.c | 2 +- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c index 316c784..c82f31f 100644 --- a/drivers/char/tpm/tpm-interface.c +++ b/drivers/char/tpm/tpm-interface.c @@ -330,29 +330,28 @@ EXPORT_SYMBOL_GPL(tpm_calc_ordinal_duration); /* * Internal kernel interface to transmit TPM commands */ -ssize_t tpm_transmit(struct tpm_chip *chip, const char *buf, - size_t bufsiz) +ssize_t tpm_transmit(struct tpm_chip *chip, u8 *buf, size_t len) { ssize_t rc; u32 count, ordinal; unsigned long stop; - if (bufsiz > TPM_BUFSIZE) - bufsiz = TPM_BUFSIZE; + if (len > TPM_BUFSIZE) + len = TPM_BUFSIZE; count = be32_to_cpu(*((__be32 *) (buf + 2))); ordinal = be32_to_cpu(*((__be32 *) (buf + 6))); if (count == 0) return -ENODATA; - if (count > bufsiz) { + if (count > len) { dev_err(&chip->dev, - "invalid count value %x %zx\n", count, bufsiz); + "invalid count value %x %zx\n", count, len); return -E2BIG; } mutex_lock(&chip->tpm_mutex); - rc = chip->ops->send(chip, (u8 *) buf, count); + rc = chip->ops->send(chip, buf, count); if (rc < 0) { dev_err(&chip->dev, "tpm_transmit: tpm_send: error %zd\n", rc); @@ -388,7 +387,7 @@ ssize_t tpm_transmit(struct tpm_chip *chip, const char *buf, goto out; out_recv: - rc = chip->ops->recv(chip, (u8 *) buf, bufsiz); + rc = chip->ops->recv(chip, buf, len); if (rc < 0) dev_err(&chip->dev, "tpm_transmit: tpm_recv: error %zd\n", rc); diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h index 154984b..4126b04 100644 --- a/drivers/char/tpm/tpm.h +++ b/drivers/char/tpm/tpm.h @@ -472,8 +472,7 @@ extern const struct file_operations tpm_fops; extern struct idr dev_nums_idr; ssize_t tpm_getcap(struct device *, __be32, cap_t *, const char *); -ssize_t tpm_transmit(struct tpm_chip *chip, const char *buf, - size_t bufsiz); +ssize_t tpm_transmit(struct tpm_chip *chip, u8 *buf, size_t len); ssize_t tpm_transmit_cmd(struct tpm_chip *chip, void *cmd, int len, const char *desc); extern int tpm_get_timeouts(struct tpm_chip *); diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c index 552b3ee..8f47206 100644 --- a/drivers/char/tpm/tpm2-cmd.c +++ b/drivers/char/tpm/tpm2-cmd.c @@ -921,7 +921,7 @@ int tpm2_probe(struct tpm_chip *chip) cmd.params.get_tpm_pt_in.property_id = cpu_to_be32(0x100); cmd.params.get_tpm_pt_in.property_cnt = cpu_to_be32(1); - rc = tpm_transmit(chip, (const char *) &cmd, sizeof(cmd)); + rc = tpm_transmit(chip, (u8 *) &cmd, sizeof(cmd)); if (rc < 0) return rc; else if (rc < TPM_HEADER_SIZE)