[PATCH 78/83] hsa/radeon: Don't verify cksum when parsing CRAT table

From: Oded Gabbay
Date: Thu Jul 10 2014 - 17:59:01 EST


This patch removes the checksum verification done when
parsing a CRAT table. The verification was both erronous and
redundant, as it is done by another piece of kernel code.

Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx>
---
drivers/gpu/hsa/radeon/kfd_topology.c | 29 ++---------------------------
1 file changed, 2 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/hsa/radeon/kfd_topology.c b/drivers/gpu/hsa/radeon/kfd_topology.c
index d3aaad1..b686b7e 100644
--- a/drivers/gpu/hsa/radeon/kfd_topology.c
+++ b/drivers/gpu/hsa/radeon/kfd_topology.c
@@ -38,21 +38,6 @@ static struct kfd_system_properties sys_props;

static DECLARE_RWSEM(topology_lock);

-
-static uint8_t checksum_image(const void *buf, size_t len)
-{
- uint8_t *p = (uint8_t *)buf;
- uint8_t sum = 0;
-
- if (!buf)
- return 0;
-
- while (len-- > 0)
- sum += *p++;
-
- return sum;
- }
-
struct kfd_dev *radeon_kfd_device_by_id(uint32_t gpu_id)
{
struct kfd_topology_device *top_dev;
@@ -97,9 +82,9 @@ static int kfd_topology_get_crat_acpi(void *crat_image, size_t *size)
if (!size)
return -EINVAL;

-/*
+ /*
* Fetch the CRAT table from ACPI
- */
+ */
status = acpi_get_table(CRAT_SIGNATURE, 0, &crat_table);
if (status == AE_NOT_FOUND) {
pr_warn("CRAT table not found\n");
@@ -111,16 +96,6 @@ static int kfd_topology_get_crat_acpi(void *crat_image, size_t *size)
return -EINVAL;
}

- /*
- * The checksum of the table should be verified
- */
- if (checksum_image(crat_table, crat_table->length) ==
- crat_table->checksum) {
- pr_err("Bad checksum for the CRAT table\n");
- return -EINVAL;
-}
-
-
if (*size >= crat_table->length && crat_image != 0)
memcpy(crat_image, crat_table, crat_table->length);

--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/