From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752393AbbIOKKD (ORCPT ); Tue, 15 Sep 2015 06:10:03 -0400 Received: from mga03.intel.com ([134.134.136.65]:26167 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751666AbbIOKKB (ORCPT ); Tue, 15 Sep 2015 06:10:01 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,535,1437462000"; d="scan'208";a="789706887" Date: Tue, 15 Sep 2015 13:09:56 +0300 From: Jarkko Sakkinen To: Jason Gunthorpe Cc: Jarkko Sakkinen , tpmdd-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, Peter Huewe , Marcel Selhorst Subject: Re: [PATCH] tpm, tpm_crb: fix unaligned read of the command buffer address Message-ID: <20150915100956.GA3264@intel.com> References: <1442250923-19804-1-git-send-email-jarkko.sakkinen@linux.intel.com> <20150914173523.GC21652@obsidianresearch.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150914173523.GC21652@obsidianresearch.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 14, 2015 at 11:35:23AM -0600, Jason Gunthorpe wrote: > On Mon, Sep 14, 2015 at 08:15:23PM +0300, Jarkko Sakkinen wrote: > > The command buffer address is necessarily not naturally aligned. > > The hardware drops the entire read on some platforms and fills the > > address with 1's. This patch fixes the issue by splitting the read > > into two 32 bit reads. > > Is this necessary? The packed attribution means that unaligned members > are allowed and the compiler deals with it where necessary. For regular memory memory controller splits the read into two 32 bit reads. However, for MMIO address the hardware might abort the entire request when trying to do a 64-bit read, which causes the CPU to fill the result with 1's. This is not hypothetical bug. We are experiencing this on some platforms and the proposed fix resolves the issue. > Jason /Jarkko