lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 26 Feb 2024 22:35:22 -0800
From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@...ux.intel.com>
To: Ethan Zhao <haifeng.zhao@...ux.intel.com>,
 Bjorn Helgaas <helgaas@...nel.org>, linux-pci@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, Matthew W Carlis <mattc@...estorage.com>,
 Keith Busch <kbusch@...nel.org>, Lukas Wunner <lukas@...ner.de>,
 Mika Westerberg <mika.westerberg@...ux.intel.com>,
 Jesse Brandeburg <jesse.brandeburg@...el.com>,
 Bjorn Helgaas <bhelgaas@...gle.com>
Subject: Re: [PATCH v2 0/3] PCI/DPC: Clean up DPC vs AER/EDR ownership and
 Kconfig

Hi,

On 2/26/24 10:18 PM, Ethan Zhao wrote:
> On 2/23/2024 6:15 AM, Bjorn Helgaas wrote:
>> From: Bjorn Helgaas <bhelgaas@...gle.com>
>>
>> Previously we could request control of DPC without AER, which is illegal
>> per spec.  Also, we could enable CONFIG_PCIE_DPC without CONFIG_PCIE_EDR,
>> which is also illegal.  This series addresses both.
>
> I have a question here, how to understand the relationship EDR & AER ?
> somewhere EDR touches AER status without checking _OSC granted bits,
> such as
>    pci_aer_raw_clear_status(edev);


Which_OSC bits?

EDR code will only get triggered if OS advertises the EDR support (which
also means OS supports AER and DPC), and both AER and DPC is owned by
the firmware. During the EDR notification, the OS is allowed to touch AER
and DPC registers. So there is no problem with EDR code using AER routines.


>
> sometimes EDR calling AER with host->native_aer checked, like
>
> pcie_do_recovery()
> {
>  ...
>  if (host->native_aer || pcie_ports_native) {
>         pcie_clear_device_status(dev);
>         pci_aer_clear_nonfatal_status(dev);
>     }
>  ...
> }
>
> That is really confusing. could we do some cleanup to eliminate it ?
> such as seperate AER code into common code and runtime part.
>
>
> Thanks,
> Ethan
>  
>
>>
>> Bjorn Helgaas (3):
>>    PCI/DPC: Request DPC only if also requesting AER
>>    PCI/DPC: Remove CONFIG_PCIE_EDR
>>    PCI/DPC: Encapsulate pci_acpi_add_edr_notifier()
>>
>>   drivers/acpi/pci_root.c   | 22 ++++++++++++----------
>>   drivers/pci/pci.h         |  4 ++++
>>   drivers/pci/pcie/Kconfig  | 14 ++++----------
>>   drivers/pci/pcie/Makefile |  5 ++++-
>>   drivers/pci/pcie/dpc.c    | 10 ----------
>>   include/linux/pci-acpi.h  |  8 --------
>>   6 files changed, 24 insertions(+), 39 deletions(-)
>>
-- 
Sathyanarayanan Kuppuswamy
Linux Kernel Developer


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ