summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Diver <diverj@google.com>2023-07-10 14:32:56 +0000
committerJack Diver <diverj@google.com>2023-08-21 16:37:30 +0000
commit526005ab91b3ba0be389883a3e771382721da4a8 (patch)
tree19c65999224e429ef6627ac0efb27ceee8170cb2
parent94bda3af7f04101f7dfba2c5fffeb3e05be49472 (diff)
downloadgpu-526005ab91b3ba0be389883a3e771382721da4a8.tar.gz
mali_pixel: mgm: Remove race condition
Remove window where mismanagement of counters could be missed. Bug: 289501175 Signed-off-by: Jack Diver <diverj@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:b6b86cbf708df94173f9a5152229a39c043e8909) Merged-In: I6d17726667c2d1fda4cd928e10d5143405ecd38f Change-Id: I6d17726667c2d1fda4cd928e10d5143405ecd38f
-rw-r--r--mali_pixel/memory_group_manager.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/mali_pixel/memory_group_manager.c b/mali_pixel/memory_group_manager.c
index aa90279..ed5f04f 100644
--- a/mali_pixel/memory_group_manager.c
+++ b/mali_pixel/memory_group_manager.c
@@ -434,8 +434,7 @@ static void update_size(struct memory_group_manager_device *mgm_dev, int
atomic_inc(size);
atomic64_add(1 << order, &total_gpu_pages);
} else {
- WARN_ON(atomic_read(size) == 0);
- atomic_dec(size);
+ WARN_ON(atomic_dec_return(size) < 0);
atomic64_sub(1 << order, &total_gpu_pages);
}