> From: Rafael J. Wysocki [mailto:rjw@xxxxxxxxxxxxx] > Sent: Thursday, September 26, 2013 1:55 AM > > On Friday, September 13, 2013 01:13:01 PM Lv Zheng wrote: > > This patchset tries to fix the following kernel bug: > > Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=46741 > > 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(-) > > Queued up for 3.13, thanks Lv! Thanks for the helping. Cheers -Lv ��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f