diff options
author | Francesco Ruggeri <[email protected]> | 2019-11-19 21:47:27 -0800 |
---|---|---|
committer | Rafael J. Wysocki <[email protected]> | 2019-11-29 10:31:12 +0100 |
commit | 833a426cc471b6088011b3d67f1dc4e147614647 (patch) | |
tree | 3ee114c6786b4cb9e9e908c185d4ca42faea0fc9 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | 6e9f879684b46331f51d0c76ebee981c788417db (diff) |
ACPI: OSL: only free map once in osl.c
acpi_os_map_cleanup checks map->refcount outside of acpi_ioremap_lock
before freeing the map. This creates a race condition the can result
in the map being freed more than once.
A panic can be caused by running
for ((i=0; i<10; i++))
do
for ((j=0; j<100000; j++))
do
cat /sys/firmware/acpi/tables/data/BERT >/dev/null
done &
done
This patch makes sure that only the process that drops the reference
to 0 does the freeing.
Fixes: b7c1fadd6c2e ("ACPI: Do not use krefs under a mutex in osl.c")
Signed-off-by: Francesco Ruggeri <[email protected]>
Reviewed-by: Dmitry Safonov <[email protected]>
Cc: All applicable <[email protected]>
Signed-off-by: Rafael J. Wysocki <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions