Commit 7c3906d0 authored by Alex Deucher's avatar Alex Deucher

drm/radeon: convert radeon vfct code to use acpi_get_table_with_size

Allows us to verify the table size.
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
parent 4f81f986
...@@ -482,13 +482,12 @@ static bool radeon_acpi_vfct_bios(struct radeon_device *rdev) ...@@ -482,13 +482,12 @@ static bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
{ {
bool ret = false; bool ret = false;
struct acpi_table_header *hdr; struct acpi_table_header *hdr;
/* acpi_get_table_with_size is not exported :( */ acpi_size tbl_size;
acpi_size tbl_size = 0x7fffffff;
UEFI_ACPI_VFCT *vfct; UEFI_ACPI_VFCT *vfct;
GOP_VBIOS_CONTENT *vbios; GOP_VBIOS_CONTENT *vbios;
VFCT_IMAGE_HEADER *vhdr; VFCT_IMAGE_HEADER *vhdr;
if (!ACPI_SUCCESS(acpi_get_table("VFCT", 1, &hdr))) if (!ACPI_SUCCESS(acpi_get_table_with_size("VFCT", 1, &hdr, &tbl_size)))
return false; return false;
if (tbl_size < sizeof(UEFI_ACPI_VFCT)) { if (tbl_size < sizeof(UEFI_ACPI_VFCT)) {
DRM_ERROR("ACPI VFCT table present but broken (too short #1)\n"); DRM_ERROR("ACPI VFCT table present but broken (too short #1)\n");
...@@ -525,7 +524,6 @@ static bool radeon_acpi_vfct_bios(struct radeon_device *rdev) ...@@ -525,7 +524,6 @@ static bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
ret = !!rdev->bios; ret = !!rdev->bios;
out_unmap: out_unmap:
/* uh, no idea what to do here... */
return ret; return ret;
} }
#else #else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment