Skip to content

ACPI/IPMI: Fix several issues in the current codes

Lv Zheng linux-acpi lkml stable 2 versions – Applied

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

  1. v2 Latest12 patches 2 repliesApplied
  2. v113 patches 32 repliesSuperseded

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/12ACPI/IPMI: Fix atomic context requirement of ipmi_msg_handler()drivers/acpi/acpi_ipmi.c+14 -100 replies
2/12ACPI/IPMI: Fix potential response buffer overflowdrivers/acpi/acpi_ipmi.c+33 -200 replies
3/12ACPI/IPMI: Fix race caused by the unprotected ACPI IPMI transfersdrivers/acpi/acpi_ipmi.c+6 -20 replies
4/12ACPI/IPMI: Fix race caused by the timed out ACPI IPMI transfersdrivers/acpi/acpi_ipmi.c+27 -220 replies
5/12ACPI/IPMI: Fix race caused by the unprotected ACPI IPMI userdrivers/acpi/acpi_ipmi.c+156 -930 replies
6/12ACPI/IPMI: Fix issue caused by the per-device registration of the IPMI operation region handlerdrivers/acpi/acpi_ipmi.c+34 -470 replies
7/12ACPI/IPMI: Add reference counting for ACPI IPMI transfersdrivers/acpi/acpi_ipmi.c+85 -320 replies
8/12ACPI/IPMI: Cleanup several acpi_ipmi_device membersdrivers/acpi/acpi_ipmi.c+13 -170 replies
9/12ACPI/IPMI: Cleanup some initialization codesdrivers/acpi/acpi_ipmi.c+3 -40 replies
10/12ACPI/IPMI: Cleanup some inclusion codesdrivers/acpi/acpi_ipmi.c+1 -140 replies
11/12ACPI/IPMI: Cleanup some Kconfig codesdrivers/acpi/Kconfig+2 -10 replies
12/12ACPI/IPMI: Cleanup coding stylesdrivers/acpi/acpi_ipmi.c+65 -400 replies

Reviews trailers per patch

11 of 12 patches have a Reviewed-by or Acked-by.

PatchHuang Ying
1/12R-b
2/12R-b
3/12R-b
4/12R-b
5/12R-b
6/12R-b
7/12R-b
8/12R-b
9/12R-b
10/12R-b
11/12R-b
12/12

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

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