From 0d752f78b20dbe4eeb9bc76f118889f1898948ca Mon Sep 17 00:00:00 2001 From: Lee Jones Date: Mon, 9 May 2022 15:17:10 +0100 Subject: [PATCH] BACKPORT: staging: ion: Prevent incorrect reference counting behavour Supply additional check in order to prevent unexpected results. Bug: 205573273 Fixes: b892bf75b2034 ("ion: Switch ion to use dma-buf") Suggested-by: Dan Carpenter Signed-off-by: Lee Jones Signed-off-by: Greg Kroah-Hartman [Lee: Patch now applies to ion_buffer.c instead of ion.c] Change-Id: Ia6afdd9ca502caa9cad6619d438fc6c8e8457679 (cherry picked from commit fea24b07edfc348c67a019b6e17b39c0698e631f) --- drivers/staging/android/ion/ion_buffer.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/staging/android/ion/ion_buffer.c b/drivers/staging/android/ion/ion_buffer.c index 9baca1a472b6..9c7a353a4220 100644 --- a/drivers/staging/android/ion/ion_buffer.c +++ b/drivers/staging/android/ion/ion_buffer.c @@ -249,6 +249,9 @@ void *ion_buffer_kmap_get(struct ion_buffer *buffer) void *vaddr; if (buffer->kmap_cnt) { + if (buffer->kmap_cnt == INT_MAX) + return ERR_PTR(-EOVERFLOW); + buffer->kmap_cnt++; return buffer->vaddr; }