staging: ion: Prevent incorrect reference counting behavour
authorLee Jones <lee.jones@linaro.org>
Mon, 25 Apr 2022 15:51:54 +0000 (16:51 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Apr 2022 11:15:31 +0000 (13:15 +0200)
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

index dd96ca61a5152cb0cdac912ddb4e5cba9273bdd1..986aabc9b8f962b0c24b23599ab4569db4deb6d5 100644 (file)
@@ -160,6 +160,9 @@ static 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;
        }