blob: 5dc47b6fbaf8d9e2b2aca8698467bcd2a2b3dd95 [file] [log] [blame]
From lee.jones@linaro.org Mon Apr 25 17:58:17 2022
From: Lee Jones <lee.jones@linaro.org>
Date: Mon, 25 Apr 2022 16:51:54 +0100
Subject: staging: ion: Prevent incorrect reference counting behavour
To: lee.jones@linaro.org
Cc: stable@vger.kernel.org, Dan Carpenter <dan.carpenter@oracle.com>
Message-ID: <20220425155154.2742426-1-lee.jones@linaro.org>
Supply additional check in order to prevent unexpected results.
Fixes: b892bf75b2034 ("ion: Switch ion to use dma-buf")
Suggested-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/staging/android/ion/ion.c | 3 +++
1 file changed, 3 insertions(+)
--- a/drivers/staging/android/ion/ion.c
+++ b/drivers/staging/android/ion/ion.c
@@ -114,6 +114,9 @@ static void *ion_buffer_kmap_get(struct
void *vaddr;
if (buffer->kmap_cnt) {
+ if (buffer->kmap_cnt == INT_MAX)
+ return ERR_PTR(-EOVERFLOW);
+
buffer->kmap_cnt++;
return buffer->vaddr;
}