ACPI: sysfs: validate return type of _STR method
ANBZ: #12603 commit4bb1e7d027
upstream. Only buffer objects are valid return values of _STR. If something else is returned description_show() will access invalid memory. Fixes:d1efe3c324
("ACPI: Add new sysfs interface to export device description") Cc: All applicable <stable@vger.kernel.org> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Link: https://patch.msgid.link/20240709-acpi-sysfs-groups-v2-1-058ab0667fa8@weissschuh.net Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Fixes: CVE-2024-49860 Signed-off-by: Xiao Long <xiaolong@openanolis.org> Signed-off-by: Kun(llfl) <llfl@linux.alibaba.com> Reviewed-by: Xunlei Pang <xlpang@linux.alibaba.com> Link: https://gitee.com/anolis/cloud-kernel/pulls/4275
This commit is contained in:
parent
070c1d0c31
commit
d969457e60
|
@ -533,8 +533,9 @@ int acpi_device_setup_files(struct acpi_device *dev)
|
|||
* If device has _STR, 'description' file is created
|
||||
*/
|
||||
if (acpi_has_method(dev->handle, "_STR")) {
|
||||
status = acpi_evaluate_object(dev->handle, "_STR",
|
||||
NULL, &buffer);
|
||||
status = acpi_evaluate_object_typed(dev->handle, "_STR",
|
||||
NULL, &buffer,
|
||||
ACPI_TYPE_BUFFER);
|
||||
if (ACPI_FAILURE(status))
|
||||
buffer.pointer = NULL;
|
||||
dev->pnp.str_obj = buffer.pointer;
|
||||
|
|
Loading…
Reference in New Issue