From 2460bec971fbe40cc9c8a139a58a3cf25b56e74f Mon Sep 17 00:00:00 2001 From: Jordan Crouse Date: Tue, 23 Jun 2020 17:42:19 -0600 Subject: [PATCH] msm: kgsl: Make sure that IB addresses are dword aligned All IB GPU addresses should be dword aligned. Enforce that in software to keep invalid addresses from bothering the CP. Change-Id: Ic0dedbad2298ebbd20ca1b575b8e36dcbf5a1fbe Signed-off-by: Jordan Crouse --- drivers/gpu/msm/adreno_dispatch.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/msm/adreno_dispatch.c b/drivers/gpu/msm/adreno_dispatch.c index 8710fca991994..ed4708215e6aa 100644 --- a/drivers/gpu/msm/adreno_dispatch.c +++ b/drivers/gpu/msm/adreno_dispatch.c @@ -1134,8 +1134,9 @@ static inline bool _verify_ib(struct kgsl_device_private *dev_priv, return false; } - /* Make sure that the address is mapped */ - if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, ib->gpuaddr)) { + /* Make sure that the address is in range and dword aligned */ + if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, ib->gpuaddr) || + !IS_ALIGNED(ib->gpuaddr, 4)) { pr_context(device, context, "ctxt %d invalid ib gpuaddr %llX\n", context->id, ib->gpuaddr); return false;