ACPI/IPMI: Fix several issues in the current codes
Status from this message: Queued up for 3.13, thanks Lv!
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest12 patches 2 repliesApplied
- v113 patches 32 repliesSuperseded
Patches in v2 Applied
Reviews trailers per patch
11 of 12 patches have a Reviewed-by or Acked-by.
| Patch | Huang Ying |
|---|---|
| 1/12 | R-b |
| 2/12 | R-b |
| 3/12 | R-b |
| 4/12 | R-b |
| 5/12 | R-b |
| 6/12 | R-b |
| 7/12 | R-b |
| 8/12 | R-b |
| 9/12 | R-b |
| 10/12 | R-b |
| 11/12 | R-b |
| 12/12 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v2 00/12] ACPI/IPMI: Fix several issues in the current codes
This patchset tries to fix the following kernel bug:
This is fixed by [PATCH 06].
The bug shows IPMI operation region may appear in a device not under the IPMI system interface device's scope, thus it's required to install the ACPI IPMI operation region handler from the root of the ACPI namespace.
The original acpi_ipmi implementation includes several issues that break the test process. This patchset also includes a re-design of acpi_ipmi module to make the test possible.
[PATCH 01-06] are bug-fix patches that can be applied to the kernels whose
version is > 2.6.38. This can be confirmed with:
# git tag --contains e92b297c
[PATCH 07] is a tuning patch for acpi_ipmi.c.
[PATCH 08-12] are cleanup patches for acpi_ipmi.c and its Kconfig item.
v2.0
PATCH 03: Uses timeout mechanism offerred by ipmi_si.
PATCH 05: Uses kref instead of atomic_t and adds "dead" flag to kill the
atomic_read codes in ipmi_flush_tx_msg().
PATCH 07: Uses kref instead of atomic_t.
This patchset has passed the test around a fake device accessing IPMI operation region fields on an IPMI capable platform. A stress test of module(acpi_ipmi) load/unload has been performed on such platform. No races can be found and the IPMI operation region handler is functioning now. It is not possible to test module(ipmi_si) load/unload as it can't be unloaded due to its' transfer flushing implementation.
Lv Zheng (12):
ACPI/IPMI: Fix atomic context requirement of ipmi_msg_handler() ACPI/IPMI: Fix potential response buffer overflow ACPI/IPMI: Fix race caused by the unprotected ACPI IPMI transfers ACPI/IPMI: Fix race caused by the timed out ACPI IPMI transfers ACPI/IPMI: Fix race caused by the unprotected ACPI IPMI user ACPI/IPMI: Fix issue caused by the per-device registration of the
IPMI operation region handler
ACPI/IPMI: Add reference counting for ACPI IPMI transfers ACPI/IPMI: Cleanup several acpi_ipmi_device members ACPI/IPMI: Cleanup some initialization codes ACPI/IPMI: Cleanup some inclusion codes
ACPI/IPMI: Cleanup some Kconfig codes
ACPI/IPMI: Cleanup coding styles
drivers/acpi/Kconfig | 3 +- drivers/acpi/acpi_ipmi.c | 594 ++++++++++++++++++++++++++++------------------ 2 files changed, 367 insertions(+), 230 deletions(-)
Signature · 1 line
1.7.10