forked from Minki/linux
ACPICA fixes for 3.10-rc1
- _INI regression fix from Tomasz Nowicki. - Fix for a possible memory leak in _OSI support routine from Jung-uk Kim. - Fix for a possible buffer overflow during field unit read operation from Bob Moore. / -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iQIcBAABAgAGBQJRi/KxAAoJEKhOf7ml8uNsngoP/Rgf9MeSyyNcR51WECDT0nQM mwImWCHi1fwa+IKuj3Bc+fSqnv+7UxSOn2fUXoddPgxjSjFD7aCoWYbaWMU0PMtH zCCr/+n0+7OckbwbeQORbooOY3mwu1w4Y420FO6okGfznunGt5gvswd3nvC8SPdw gUqo7ZfHSn4xygxEXt4jL6ckrKuVwezl8FjUUNwzyhg09X13YQIEjlJv0WqQJAIk uswpxIasZAyWgyc40Tt7FooIbM1MWI87POZ8NAG6ZXDj76Lj4tIh+TYdWMfDaKU7 jM4jjWxhlFONqT2XcZAdMDG6Ec8Xw0BzRNhH7K/LhU7TH6YVBiV77l+tOzpM+t7s JeJYzvmbuZtk3hFYRr2FtVKBD3mUD6M0A3KUlCDPHH7oyaGI+Ue08Lrio/9Wrpqp VMZAEcmaUN5je5kWo1UXJBip/yTEF31hfjUxQbnV2G2VtPajmql8guke5VfIBz2W Plcp7l7kIzY+ShMuOrr2HK1uQFXJENsMxsBKkkaEiKR48p8g3Ncmuj05n1gDOzPO /s3osHTQOlYGYTAmIJnvH1M0+hEvIliwkwR1MpTAibYXm7x4TPVeodcG7tWQPZ8Y 1aN/KovstdT9VPbZhWe9SQRHIM7vd00nFKYFqCngeHO+fKCKJYawt3nLV2lu2De2 Qwtna1f9qNMdoa8Si822 =asD2 -----END PGP SIGNATURE----- Merge tag 'acpi-fixes-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPICA fixes from Rafael Wysocki: - _INI regression fix from Tomasz Nowicki. - Fix for a possible memory leak in _OSI support routine from Jung-uk Kim. - Fix for a possible buffer overflow during field unit read operation from Bob Moore. * tag 'acpi-fixes-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPICA: ACPICA: Fix for _INI regression ACPICA: _OSI support: Fix possible memory leak ACPICA: Fix possible buffer overflow during a field unit read operation
This commit is contained in:
commit
2e99f3a12b
@ -720,7 +720,19 @@ acpi_ex_extract_from_field(union acpi_operand_object *obj_desc,
|
||||
|
||||
if ((obj_desc->common_field.start_field_bit_offset == 0) &&
|
||||
(obj_desc->common_field.bit_length == access_bit_width)) {
|
||||
status = acpi_ex_field_datum_io(obj_desc, 0, buffer, ACPI_READ);
|
||||
if (buffer_length >= sizeof(u64)) {
|
||||
status =
|
||||
acpi_ex_field_datum_io(obj_desc, 0, buffer,
|
||||
ACPI_READ);
|
||||
} else {
|
||||
/* Use raw_datum (u64) to handle buffers < 64 bits */
|
||||
|
||||
status =
|
||||
acpi_ex_field_datum_io(obj_desc, 0, &raw_datum,
|
||||
ACPI_READ);
|
||||
ACPI_MEMCPY(buffer, &raw_datum, buffer_length);
|
||||
}
|
||||
|
||||
return_ACPI_STATUS(status);
|
||||
}
|
||||
|
||||
|
@ -558,6 +558,7 @@ acpi_ns_init_one_device(acpi_handle obj_handle,
|
||||
ACPI_DEBUG_EXEC(acpi_ut_display_init_pathname
|
||||
(ACPI_TYPE_METHOD, device_node, METHOD_NAME__INI));
|
||||
|
||||
ACPI_MEMSET(info, 0, sizeof(struct acpi_evaluate_info));
|
||||
info->prefix_node = device_node;
|
||||
info->pathname = METHOD_NAME__INI;
|
||||
info->parameters = NULL;
|
||||
|
@ -349,7 +349,8 @@ acpi_status acpi_ut_osi_implementation(struct acpi_walk_state * walk_state)
|
||||
return_value = 0;
|
||||
status = acpi_os_acquire_mutex(acpi_gbl_osi_mutex, ACPI_WAIT_FOREVER);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
return (status);
|
||||
acpi_ut_remove_reference(return_desc);
|
||||
return_ACPI_STATUS(status);
|
||||
}
|
||||
|
||||
/* Lookup the interface in the global _OSI list */
|
||||
|
Loading…
Reference in New Issue
Block a user