[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200124192743.GL4675@bombadil.infradead.org>
Date: Fri, 24 Jan 2020 11:27:43 -0800
From: Matthew Wilcox <willy@...radead.org>
To: Chen Yu <yu.c.chen@...el.com>
Cc: linux-pci@...r.kernel.org, Jonathan Corbet <corbet@....net>,
Bjorn Helgaas <bhelgaas@...gle.com>, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, Len Brown <lenb@...nel.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>
Subject: Re: [PATCH][RFC] PCI: Add "pci=blacklist_dev=" parameter to
blacklist specific devices
On Fri, Jan 24, 2020 at 10:42:48PM +0800, Chen Yu wrote:
> It was found that on some platforms the bogus pci device might bring
> troubles to the system. For example, on a MacBookPro the system could
> not be power off or suspended due to internal pci resource confliction
> between bogus pci device and [io 0x1804]. Another case is that, once
> resumed from hibernation on a VM, the pci config space of a pci device
> is corrupt.
>
> To narrow down and benefit future debugging for such kind of issues,
> introduce the command line blacklist_dev=<vendor:device_id>> to blacklist
> such pci devices thus they will not be scanned thus not visible after
> bootup. For example,
>
> pci.blacklist_dev=8086:293e
>
> forbid the audio device to be exposed to the OS.
This feels really unsafe to me. Just because Linux ignores the device
doesn't mean the device will ignore I/O requests. I think we should
call this pci.disable_dev and clear the device's I/O Space Enable,
Memory Space Enable and Bus Master Enable bits (in the Command register,
config space offset 4).
Powered by blists - more mailing lists