]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI: OSL: Prevent acpi_release_memory() from returning too early
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 21 Aug 2020 17:42:55 +0000 (19:42 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 25 Aug 2020 14:22:08 +0000 (16:22 +0200)
commit0c8f70676de87589b8d6926264493e322b6b8c7e
tree1a8f240d222c3a6351afc3e56011ef80bf91777e
parentc8838e0335cf932544d165af5950ca7b3423dd3d
ACPI: OSL: Prevent acpi_release_memory() from returning too early

After commit 9e2c94149fb1 ("ACPI: OSL: Implement deferred unmapping
of ACPI memory") in some cases acpi_release_memory() may return
before the target memory mappings actually go away, because they
are released asynchronously now.

Prevent it from returning prematurely by making it wait for the next
RCU grace period to elapse, for all of the RCU callbacks to complete
and for all of the scheduled work items to be flushed before
returning.

Fixes: 9e2c94149fb1 ("ACPI: OSL: Implement deferred unmapping of ACPI memory")
Reported-by: Kenneth R. Crudup <kenny@panix.com>
Tested-by: Kenneth R. Crudup <kenny@panix.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/acpi/osl.c