Replace pointer casts with get_unaligned_* helpers for VBT block size reads. This ensures endianness and alignment correctness in VBT parsing.
Signed-off-by: Kaushlendra Kumar <[email protected]> --- drivers/gpu/drm/i915/display/intel_bios.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c index 4b41068e9e35..dd1b3f629428 100644 --- a/drivers/gpu/drm/i915/display/intel_bios.c +++ b/drivers/gpu/drm/i915/display/intel_bios.c @@ -45,6 +45,7 @@ #define _INTEL_BIOS_PRIVATE #include "intel_vbt_defs.h" +#include <linux/unaligned.h> /** * DOC: Video BIOS Table (VBT) @@ -85,9 +86,9 @@ static u32 _get_blocksize(const u8 *block_base) { /* The MIPI Sequence Block v3+ has a separate size field. */ if (*block_base == BDB_MIPI_SEQUENCE && *(block_base + 3) >= 3) - return *((const u32 *)(block_base + 4)); + return get_unaligned_le32(block_base + 4); else - return *((const u16 *)(block_base + 1)); + return get_unaligned_le16(block_base + 1); } /* Get BDB block size give a pointer to data after Block ID and Block Size. */ -- 2.34.1
