From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, URIBL_BLOCKED,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3AE4FC282DA for ; Wed, 17 Apr 2019 15:42:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0A2C721773 for ; Wed, 17 Apr 2019 15:42:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1555515736; bh=XN39IEX0JNr3LPWibOXyXyKzT2CA2w4TCmrcuD9EfLY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=UdYvXzI4Ukg/2w5C9qaHiGU2oSnCHe64elffye8rR65v7qKFoqODAMDEtG1EFnmLg GTL1+TLH14VQmVr9jGYixssVA5JoVMzdGj6nQFJzAJ/nWBJBk3lOVS/dH7XqBHO93W XaI3Qm2t9fuaqo5Pn+PQic3ovOTVmQkpd4oksPeI= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732635AbfDQPmP (ORCPT ); Wed, 17 Apr 2019 11:42:15 -0400 Received: from mail.kernel.org ([198.145.29.99]:58716 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732634AbfDQPmP (ORCPT ); Wed, 17 Apr 2019 11:42:15 -0400 Received: from localhost (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4CCF7205F4; Wed, 17 Apr 2019 15:42:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1555515734; bh=XN39IEX0JNr3LPWibOXyXyKzT2CA2w4TCmrcuD9EfLY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=sFuNSylJrgkTEgTUXbzcOPOgoOIksHZ8mOV83LaPxM04i1ulnv2RnztLYttP1I37P /YvIqYT4H96JVGZX15r4dOzTlOvOb7ginzwE2UTY9iel9S/J6SuoGsBFo/U9Vh3Bkq x5GM7YM/etmUMI5NtDYBiB5sA3+Fzp99QJKy1Fn4= Date: Wed, 17 Apr 2019 11:42:13 -0400 From: Sasha Levin To: Jarkko Sakkinen Cc: stable@vger.kernel.org, James Morris , Tomas Winkler , Jerry Snitselaar Subject: Re: [PATCH] tpm/tpm_crb: Avoid unaligned reads in crb_recv() Message-ID: <20190417154213.GA435@sasha-vm> References: <20190417145915.30956-1-jarkko.sakkinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20190417145915.30956-1-jarkko.sakkinen@linux.intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org On Wed, Apr 17, 2019 at 05:59:15PM +0300, Jarkko Sakkinen wrote: >commit 3d7a850fdc1a2e4d2adbc95cc0fc962974725e88 upstream > >The current approach to read first 6 bytes from the response and then tail >of the response, can cause the 2nd memcpy_fromio() to do an unaligned read >(e.g. read 32-bit word from address aligned to a 16-bits), depending on how >memcpy_fromio() is implemented. If this happens, the read will fail and the >memory controller will fill the read with 1's. > >This was triggered by 170d13ca3a2f, which should be probably refined to >check and react to the address alignment. Before that commit, on x86 >memcpy_fromio() turned out to be memcpy(). By a luck GCC has done the right >thing (from tpm_crb's perspective) for us so far, but we should not rely on >that. Thus, it makes sense to fix this also in tpm_crb, not least because >the fix can be then backported to stable kernels and make them more robust >when compiled in differing environments. > >Cc: stable@vger.kernel.org >Cc: James Morris >Cc: Tomas Winkler >Cc: Jerry Snitselaar >Fixes: 30fc8d138e91 ("tpm: TPM 2.0 CRB Interface") >Signed-off-by: Jarkko Sakkinen >Reviewed-by: Jerry Snitselaar >Acked-by: Tomas Winkler >--- >backport v4.9.99 > drivers/char/tpm/tpm_crb.c | 22 ++++++++++++++++------ > 1 file changed, 16 insertions(+), 6 deletions(-) I've queued both this and the 4.4 backport, thanks! -- Thanks, Sasha