summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/nsxfeval.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-28 01:14:59 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-28 01:14:59 +0100
commit9183ea62f71484dd2e91e313b766adeb15789f90 (patch)
treeee81ef91ec6280f55a90f79a099097cd7be2f3b6 /drivers/acpi/acpica/nsxfeval.c
parent31c466c1af229b08bec56c6564b50311d9d660ca (diff)
parent3774929d2ac6213a78068a33660d3402f2334d60 (diff)
Merge branch 'acpica'
* acpica: MAINTAINERS / ACPICA: Add ACPICA information to MAINTAINERS ACPICA: Update version to 20130823. ACPICA: SCI Handlers: Update handler interface, eliminate unnecessary argument. ACPICA: Cleanup exception codes. ACPICA: Tables: Cleanup RSDP signature codes. ACPICA: Tables: Cleanup table checksum verification code. ACPICA: Debugger: Add new command to display full namespace pathnames. ACPICA: Operation region support: Never free the handler "context" pointer. ACPICA: Add support for host-installed SCI handlers. ACPICA: Validate start object for acpi_walk_namespace. ACPICA: Debugger: Prevent possible command line buffer overflow, kernel behavior is not affected. ACPICA: Linux-specific header: enable "aarch64" 64-bit build. ACPICA: Debug output: small formatting update, no functional change. ACPICA: acpi_read: On error, do not modify the return value target location. ACPICA: Improve error message for "too many parent prefixes" condition.
Diffstat (limited to 'drivers/acpi/acpica/nsxfeval.c')
-rw-r--r--drivers/acpi/acpica/nsxfeval.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/acpi/acpica/nsxfeval.c b/drivers/acpi/acpica/nsxfeval.c
index b38b4b07f86..481a6b4a9b2 100644
--- a/drivers/acpi/acpica/nsxfeval.c
+++ b/drivers/acpi/acpica/nsxfeval.c
@@ -605,11 +605,19 @@ acpi_walk_namespace(acpi_object_type type,
goto unlock_and_exit;
}
+ /* Now we can validate the starting node */
+
+ if (!acpi_ns_validate_handle(start_object)) {
+ status = AE_BAD_PARAMETER;
+ goto unlock_and_exit2;
+ }
+
status = acpi_ns_walk_namespace(type, start_object, max_depth,
ACPI_NS_WALK_UNLOCK,
descending_callback, ascending_callback,
context, return_value);
+ unlock_and_exit2:
(void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
unlock_and_exit: