From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758306AbcATJmh (ORCPT ); Wed, 20 Jan 2016 04:42:37 -0500 Received: from e23smtp05.au.ibm.com ([202.81.31.147]:45298 "EHLO e23smtp05.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751311AbcATJm3 (ORCPT ); Wed, 20 Jan 2016 04:42:29 -0500 X-IBM-Helo: d23dlp01.au.ibm.com X-IBM-MailFrom: xyjxie@linux.vnet.ibm.com X-IBM-RcptTo: kvm@vger.kernel.org;linux-doc@vger.kernel.org;linux-kernel@vger.kernel.org;linux-pci@vger.kernel.org Subject: Re: [RFC PATCH v3 3/5] PCI: Add host bridge attribute to indicate filtering of MSIs is supported To: David Laight , "kvm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-pci@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-doc@vger.kernel.org" References: <1452841574-2781-1-git-send-email-xyjxie@linux.vnet.ibm.com> <1452841574-2781-4-git-send-email-xyjxie@linux.vnet.ibm.com> <063D6719AE5E284EB5DD2968C1650D6D1CCC6833@AcuExch.aculab.com> Cc: "nikunj@linux.vnet.ibm.com" , "zhong@linux.vnet.ibm.com" , "corbet@lwn.net" , "aik@ozlabs.ru" , "warrier@linux.vnet.ibm.com" , "alex.williamson@redhat.com" , "paulus@samba.org" , "bhelgaas@google.com" From: Yongji Xie Message-ID: <569F5636.30701@linux.vnet.ibm.com> Date: Wed, 20 Jan 2016 17:41:10 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <063D6719AE5E284EB5DD2968C1650D6D1CCC6833@AcuExch.aculab.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16012009-0017-0000-0000-0000029B7031 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016/1/16 1:24, David Laight wrote: > From: Yongji Xie >> Sent: 15 January 2016 07:06 >> >> MSI-X tables are not allowed to be mmapped in vfio-pci >> driver in case that user get to touch this directly. >> This will cause some performance issues when when PCI >> adapters have critical registers in the same page as >> the MSI-X table. > ... > If the driver wants to generate an incorrect MSI-X interrupt > it can do so by requesting the device do a normal memory transfer > to the target address area that raises MSI-X interrupts. IOMMUs supporting interrupt remapping can prevent this case. > So disabling writes to the MSI-X table (and pending bit array) > areas only raises the bar very slightly. > A device may also give the driver write access to the MSI-X > table through other addresses. > > This seems to make disallowing the mapping of the MSI-X table > rather pointless. If we allow the mapping of the MSI-X table, it seems the guest kernels of some architectures can write invalid data to MSI-X table when device drivers initialize MSI-X interrupts. Regards, Yongji Xie > I've also dumped out the MSI-X table (during development) to > check that the values are being written there correctly. > > David >