Re: [PATCH] pci, add FW_BUG warning to pci= kernel option

From: Prarit Bhargava
Date: Tue Nov 18 2014 - 07:42:26 EST




On 11/17/2014 06:42 PM, Bjorn Helgaas wrote:
> On Mon, Nov 10, 2014 at 8:59 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
>> [+cc lkml, linux-arch, Linus]
>>
>> On Sat, Nov 01, 2014 at 02:11:19PM -0400, Prarit Bhargava wrote:
>>> The kernel should boot PCI without the use of kernel parameters. Display
>>> a FW_BUG warning when pci= is used.
>>>
>>> Cc: Myron Stowe <mstowe@xxxxxxxxxx>
>>> Cc: linux-pci@xxxxxxxxxxxxxxx
>>> Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
>>> ---
>>> drivers/pci/pci.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
>>> index 625a4ac..5172060b 100644
>>> --- a/drivers/pci/pci.c
>>> +++ b/drivers/pci/pci.c
>>> @@ -4515,6 +4515,8 @@ static int __init pci_setup(char *str)
>>> }
>>> str = k;
>>> }
>>> + add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK);
>>> + pr_crit(FW_BUG "The PCI configuration has been overridden thorugh the use of pci=. Please report the issue you are attempting to resolve to your hardware vendor.\n");
>>
>> My goal is to be able to boot without any "pci=" parameters, so from that
>> perspective, I like this.
>>
>> When people have a problem booting Linux, they often try a variety of
>> things like "pci=assign-busses", "pci=nocrs", "pci=nomsi", "pci=nommconf",
>> "pci=noacpi", etc. If they find something that works, there's a tendency
>> to treat that as a "solution." I'd rather that they report it, so we can
>> try to fix the bug or add a quirk so the *next* person won't have to figure
>> out the right parameters to use.
>>
>> My worry is that there are a few things where Linux isn't smart enough to
>> do the right thing automatically, and I don't think we'll have a good
>> solution in the near future. For example:
>>
>> pci=norom
>> pci=pcie_bus_perf,pcie_bus_safe,etc.
>> pci=cbiosize=...
>> pci=cbmemsize=...
>> pci=resource_alignment=...
>> pci=hpiosize=...
>> pci=hpmemsize=...
>> pci=realloc
>>
>> I don't like the fact that these options exist, but I suspect there are
>> users that do depend on them and might find this warning too aggressive.
>>
>> So I'm interested in opinions on whether this is a good idea at all and
>> whether we should exclude some options from the warning/tainting.
>
> Hi Prarit,
>
> We didn't get any nibbles :)
>
> I don't think we can realistically taint the kernel for *all* "pci="
> options. So if you want to pursue this, maybe you could enhance this
> so we can have a whitelist of options that we will support without
> tainting. Then we can argue about what should be on the list and go
> from there. Does that seem reasonable?

Sorry for the lower-case typing. I broke my elbow and am down to one hand.

bjorn, yep sounds reasonable. i'll do this (slowly unfortunately because of my
arm) ...

P.

>
> This is a somewhat more aggressive use of tainting than we've had in
> the past, so we might have to iterate on this a bit.
>
> Bjorn
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/