Rafael J. Wysocki
2deb42c4f9
ACPICA: Fix error code path in acpi_ds_call_control_method()
...
[ Upstream commit 404ec60438add1afadaffaed34bb5fe4ddcadd40 ]
A use-after-free in acpi_ps_parse_aml() after a failing invocaion of
acpi_ds_call_control_method() is reported by KASAN [1] and code
inspection reveals that next_walk_state pushed to the thread by
acpi_ds_create_walk_state() is freed on errors, but it is not popped
from the thread beforehand. Thus acpi_ds_get_current_walk_state()
called by acpi_ps_parse_aml() subsequently returns it as the new
walk state which is incorrect.
To address this, make acpi_ds_call_control_method() call
acpi_ds_pop_walk_state() to pop next_walk_state from the thread before
returning an error.
Link: https://lore.kernel.org/linux-acpi/20221019073443.248215-1-chenzhongjin@huawei.com/ # [1]
Reported-by: Chen Zhongjin <chenzhongjin@huawei.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Chen Zhongjin <chenzhongjin@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-18 11:30:33 +01:00
..
2018-05-15 10:16:10 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2019-11-24 08:20:07 +01:00
2021-11-26 11:36:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2019-11-24 08:20:07 +01:00
2018-03-18 19:08:05 +01:00
2018-08-14 23:49:13 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-08-14 23:49:13 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-08-14 23:49:13 +02:00
2018-08-14 23:49:13 +02:00
2018-06-06 08:53:42 +02:00
2018-06-06 08:53:42 +02:00
2018-03-18 19:08:05 +01:00
2018-05-15 10:16:10 +02:00
2018-03-18 19:08:05 +01:00
2018-08-14 23:49:13 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-06-06 08:53:42 +02:00
2020-02-24 08:34:43 +01:00
2018-03-18 19:08:05 +01:00
2023-01-18 11:30:33 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2019-04-17 08:38:55 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2020-02-24 08:34:43 +01:00
2018-05-15 10:16:10 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:29:46 +01:00
2018-03-18 19:08:05 +01:00
2019-07-26 09:14:09 +02:00
2019-07-26 09:14:09 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2019-11-24 08:20:07 +01:00
2019-11-24 08:20:07 +01:00
2018-03-18 19:08:05 +01:00
2019-07-26 09:14:09 +02:00
2018-03-18 19:08:05 +01:00
2019-07-26 09:14:09 +02:00
2019-11-24 08:20:07 +01:00
2018-03-18 19:08:05 +01:00
2018-06-06 08:53:43 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2022-01-27 09:04:27 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2020-08-19 08:14:53 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2022-01-27 09:04:27 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-08-14 23:49:13 +02:00
2022-01-27 09:04:27 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-05-10 17:18:45 +02:00
2022-01-27 09:04:27 +01:00
2017-11-13 01:36:58 +01:00
2018-08-14 23:49:13 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-06-06 08:53:42 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:29:46 +01:00
2018-05-14 22:25:45 +02:00
2018-03-18 19:29:46 +01:00
2018-03-18 19:08:05 +01:00
2019-04-17 08:38:48 +02:00
2018-03-18 19:29:46 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2021-08-12 13:19:38 +02:00
2018-03-18 19:08:05 +01:00
2018-07-09 11:14:45 +02:00
2018-03-18 19:08:05 +01:00
2022-04-15 14:14:54 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-11-13 11:08:17 -08:00
2018-06-06 08:53:43 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-06-06 08:53:42 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-05-15 10:16:10 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-08-14 23:49:13 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-05-15 10:16:10 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:29:46 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-05-18 09:19:26 +02:00
2018-03-18 19:08:05 +01:00
2023-01-18 11:30:06 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2022-01-27 09:04:27 +01:00
2018-06-30 23:24:04 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-05-10 17:18:45 +02:00
2018-03-18 19:08:05 +01:00
2018-05-27 12:23:03 +02:00
2018-06-10 13:19:50 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-05-15 10:16:10 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-05-15 10:16:10 +02:00
2018-08-14 23:49:13 +02:00
2018-08-14 23:49:13 +02:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:08:05 +01:00
2018-03-18 19:29:46 +01:00
2018-03-18 19:08:05 +01:00