summaryrefslogtreecommitdiff
path: root/privs.h
blob: 9f9cfdd0626dee927ca26138809eec7a8daf7a38 (plain)
1
2
3
4
5
6
7
8
#ifndef PRIVS_H
#define PRIVS_H

#include <stdbool.h>

extern void drop_privileges(bool enforce, uid_t uid, gid_t gid);

#endif /* PRIVS_H */
ype='submit' value='reload'/>
authorLv Zheng <lv.zheng@intel.com>2016-06-21 12:34:15 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-06-22 01:07:35 +0200
commit2f38b1b16d9280689e5cfa47a4c50956bf437f0d (patch)
tree5ce8811934caf7d10eed25f693f9ada91d97096b
parentda4e792550a856e2f66aa8183d408553f7513a86 (diff)
ACPICA: Namespace: Fix deadlock triggered by MLC support in dynamic table loading
The new module-level code (MLC) approach invokes MLC on the per-table basis, but the dynamic loading support of this is incorrect because of the lock order: acpi_ns_evaluate acpi_ex_enter_intperter acpi_ns_load_table (triggered by Load opcode) acpi_ns_exec_module_code_list acpi_ex_enter_intperter The regression is introduced by the following commit: Commit: 2785ce8d0da1cac9d8f78615e116cf929e9a9123 ACPICA Commit: 071eff738c59eda1792ac24b3b688b61691d7e7c Subject: ACPICA: Add per-table execution of module-level code This patch fixes this regression by unlocking the interpreter lock before invoking MLC. However, the unlocking is done to the acpi_ns_load_table(), in which the interpreter lock should be locked by acpi_ns_parse_table() but it wasn't. Fixes: 2785ce8d0da1 (ACPICA: Add per-table execution of module-level code) Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com> Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Cc: 4.5+ <stable@vger.kernel.org> # 4.5+ [ rjw : Subject ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat