From: Yijing Wang <wangyijing@huawei.com>
To: Tony Luck <tony.luck@intel.com>
Cc: <linux-kernel@vger.kernel.org>, Hanjun Guo <guohanjun@huawei.com>,
Yijing Wang <wangyijing@huawei.com>
Subject: [PATCH v5 0/5] Fix aer_inject tool bug
Date: Tue, 26 Mar 2013 10:43:34 +0800 [thread overview]
Message-ID: <1364265819-6732-1-git-send-email-wangyijing@huawei.com> (raw)
Hi Tony,
Can you pick up these bug fix patches into your ras tree? I sent them to PCI subsystem maillist, but Bjorn does not seem
very interested in these aer_inject tool bug fix patches. Huang Ying <ying.huang@intel.com> is the author of aer_inject tool.
And I had a long discussion with Huang Ying about these patches, and got his reviewed-by. I do not know what people are really
interested in these patches, So I try to send them to you. Thank you very much!
This series of patch mainly to fix the aer_inject bug described as below:
-+-[0000:40]-+-00.0-[0000:41]--
| +-01.0-[0000:42]--+-00.0 Intel Corporation 82576 Gigabit Network Connection
| | \-00.1 Intel Corporation 82576 Gigabit Network Connection
| +-03.0-[0000:43]----00.0 LSI Logic / Symbios Logic SAS1064ET PCI-Express Fusion-MPT SAS
| +-04.0-[0000:44]--
| +-05.0-[0000:45]--
| +-07.0-[0000:46-49]----00.0-[0000:47-49]--+-02.0-[0000:48]--+-00.0 Intel Corporation 82576 Gigabit Network Connection
| | | \-00.1 Intel Corporation 82576 Gigabit Network Connection
| | \-04.0-[0000:49]--+-00.0 Intel Corporation 82576 Gigabit Network Connection
| | \-00.1 Intel Corporation 82576 Gigabit Network Connection
my steps:
1)modprobe aer_inject
2)inject aer errors to pcie device 0000:48:00.0
3)modprobe pciehp
4)hot remove Network Card in slot(port 0000:40:07.0)
5)hot add Network Card in slot(port 0000:40:07.0)
6)system panic
in step 2) the pci_ops of bus 0000:48 and bus 0000:40 will be assigned to pci_ops_aer
in step 5) the pci_ops of the newly created bus 0000:46 will be assigned to pci_ops_aer(inherited by parent pci_ops),
but this pci_ops(0000:46) is not tracked in pci_bus_ops_list in aer_inject module. So every access to pci_config space
by pci_ops of 0000:46 will cause system panic, Since pci_ops_aer cannot find its original pci_ops, thus , a NULL pci_ops return;
The first patch fix this bug by finding parent pci_ops(tracked in pci_ops_list) instead of returning NULL in step 5);
The second patch fix a small race condition window in aer_inject_exit;
The Third patch to find and clean all untracked pci_ops_aer in system when aer_inject module exit
The rest two patch mainly about to clean bus_ops;
Yijing Wang (5):
PCI/AER: Fix pci_ops return NULL in pci_read/write_aer
PCI/AER: use list_for_each_entry to avoid a small race condition
window
PCI/AER: clean all untracked pci_ops_aer when rmmod aer_inject
PCI/AER: clean pci_bus_ops when related pci bus was removed
PCI/AER: free pci_bus_ops_list and remove pci_bus_ops_pop
drivers/pci/pcie/aer/aer_inject.c | 123 +++++++++++++++++++++++++++++++------
1 files changed, 103 insertions(+), 20 deletions(-)
next reply other threads:[~2013-03-26 2:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-26 2:43 Yijing Wang [this message]
2013-03-26 2:43 ` [PATCH v5 1/5] PCI/AER: Fix pci_ops return NULL in pci_read/write_aer Yijing Wang
2013-03-26 2:43 ` [PATCH v5 2/5] PCI/AER: use list_for_each_entry to avoid a small race condition window Yijing Wang
2013-03-26 2:43 ` [PATCH v5 3/5] PCI/AER: clean all untracked pci_ops_aer when rmmod aer_inject Yijing Wang
2013-03-26 2:43 ` [PATCH v5 4/5] PCI/AER: clean pci_bus_ops when related pci bus was removed Yijing Wang
2013-03-26 2:43 ` [PATCH v5 5/5] PCI/AER: free pci_bus_ops_list and remove pci_bus_ops_pop Yijing Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1364265819-6732-1-git-send-email-wangyijing@huawei.com \
--to=wangyijing@huawei.com \
--cc=guohanjun@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®