drm/amd: Fix an out of bounds error in BIOS parser
authorjsg <jsg@openbsd.org>
Thu, 15 Jun 2023 03:00:16 +0000 (03:00 +0000)
committerjsg <jsg@openbsd.org>
Thu, 15 Jun 2023 03:00:16 +0000 (03:00 +0000)
From Mario Limonciello
5675ecd2e0b00a4318ba1db1a1234e7d45b13d6b in linux-6.1.y/6.1.30
d116db180decec1b21bba31d2ff495ac4d8e1b83 in mainline linux

sys/dev/pci/drm/amd/display/dc/bios/bios_parser2.c

index 074e70a..e507d2e 100644 (file)
@@ -516,11 +516,8 @@ static enum bp_result get_gpio_i2c_info(
        info->i2c_slave_address = record->i2c_slave_addr;
 
        /* TODO: check how to get register offset for en, Y, etc. */
-       info->gpio_info.clk_a_register_index =
-                       le16_to_cpu(
-                       header->gpio_pin[table_index].data_a_reg_index);
-       info->gpio_info.clk_a_shift =
-                       header->gpio_pin[table_index].gpio_bitshift;
+       info->gpio_info.clk_a_register_index = le16_to_cpu(pin->data_a_reg_index);
+       info->gpio_info.clk_a_shift = pin->gpio_bitshift;
 
        return BP_RESULT_OK;
 }