From 28d21878a7ca8f093e097f5bd702b8f5266da198 Mon Sep 17 00:00:00 2001 From: Prateek sethi Date: Wed, 18 Dec 2019 16:35:33 +0530 Subject: [PATCH] gpu: nvgpu: fix memory fault in invalid_pd_alloc nvgpu_pd_alloc() calls gk20a_from_vm which is extracting g from vm->mm->g without assigning mm pointer to vm->mm. Assigning the pointers. Bug 200577095 Change-Id: Ibe2757b0616fd8e87df509abe5d85e90d989d45c Signed-off-by: Prateek sethi Reviewed-on: https://git-master.nvidia.com/r/2264751 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Thomas Fleury Reviewed-by: Philip Elcan Reviewed-by: svc-mobile-coverity Reviewed-by: svc-mobile-misra Reviewed-by: Shashank Singh Reviewed-by: Alex Waterman GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions Tested-by: mobile promotions --- userspace/units/mm/gmmu/pd_cache/pd_cache.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/userspace/units/mm/gmmu/pd_cache/pd_cache.c b/userspace/units/mm/gmmu/pd_cache/pd_cache.c index 3082cdbba..de067e4a0 100644 --- a/userspace/units/mm/gmmu/pd_cache/pd_cache.c +++ b/userspace/units/mm/gmmu/pd_cache/pd_cache.c @@ -350,6 +350,9 @@ int test_pd_alloc_invalid_input(struct unit_module *m, struct gk20a *g, struct nvgpu_gmmu_pd pd; u32 i, garbage[] = { 0U, 128U, 255U, 4095U, 3000U, 128U, 2049U }; + g->mm.g = g; + vm.mm = &g->mm; + if (g->mm.pd_cache != NULL) { unit_return_fail(m, "pd_cache already inited\n"); }