ACPICA: Validate start object for acpi_walk_namespace.

Perform a sanity check on the start object to prevent problems
later. ACPICA BZ 1025.
This patch only adds additional input parameter validation, no actual
kernel suffering has been discovered.

Buglink: http://bugs.acpica.org/show_bug.cgi?id=1025
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Reviewed-by: Len Brown <len.brown@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Bob Moore 2013-09-23 09:51:58 +08:00 committed by Rafael J. Wysocki
parent 1f5210a1e6
commit d53d820741

View File

@ -605,11 +605,19 @@ acpi_walk_namespace(acpi_object_type type,
goto unlock_and_exit; 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, status = acpi_ns_walk_namespace(type, start_object, max_depth,
ACPI_NS_WALK_UNLOCK, ACPI_NS_WALK_UNLOCK,
descending_callback, ascending_callback, descending_callback, ascending_callback,
context, return_value); context, return_value);
unlock_and_exit2:
(void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE); (void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
unlock_and_exit: unlock_and_exit: