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]
Message-ID: <4B8CF0D0.2000704@jp.fujitsu.com>
Date:	Tue, 02 Mar 2010 20:04:48 +0900
From:	Hidetoshi Seto <seto.hidetoshi@...fujitsu.com>
To:	Huang Ying <ying.huang@...el.com>
CC:	Len Brown <lenb@...nel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Andi Kleen <ak@...ux.intel.com>
Subject: Re: [PATCH 2/2] ACPI, APEI, PCIE AER, use general HEST table parsing
 in AER firmware_first setup

(2010/03/02 18:13), Huang Ying wrote:
> On Tue, 2010-03-02 at 16:09 +0800, Hidetoshi Seto wrote:
>> The aer_init() will be called for root ports, but not for end point
>> devices or so on.  So please remain the firmware_first setup code in
>> PCI core.  Otherwise endpoint drivers will get success on call of
>> pci_enable_pcie_error_reporting() regardless of the firmware first.
> 
> Or we can call firmware_first setup code in
> pci_enable_pcie_error_reporting(), because
> 
> 1. I think AER related code should be put in drivers/pci/pcie/aer
> instead of PCI core or drivers/acpi, if it is possible.
> 
> 2. pci_setup_device is called so early, so that it is hard to do some
> HEST related initialization (such as checking bad format) before it.

I understands the feeling, but before agreeing with your
proposal, I'd like to have an answer of a question:

 - Is it necessary to setup the firmware_first flag
   for an endpoint even if the endpoint's driver never
   call pci_enable_pcie_error_reporting()?

According to the current implementation, there are no
driver referring the firmware_first flag other than that
it owns.  However I guess that the flag will be necessary
for AER driver (i.e. aerdrv_core) in near future, because
we can use the flag to determine whether the AER driver
can check the device or not, when it is required to walk
pci bus hierarchy to find an erroneous device.

For example, assume that there are 2 endpoints under a same
root port.  One is (likely on-board) "firmware first" endpoint,
with driver which does not call pci_enable_pcie_error_reporting()
(because of no interest in AER, or just not implemented yet,
anyway).  The other is (likely card seated on a slot) not
firmware first, with better driver which can handle it's AER.
If my understanding is correct and if everything goes well,
errors on one should be reported via APEI while the other should
be reported via AER driver.

We could call firmware_first setup for all endpoint from aer_init(),
but it will need another care for hot-plugged endpoints.


Thanks,
H.Seto

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ