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:39:45 +0000 (13:39 +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 45c7f829e3872711a68ab2b2046f67bc852230de..ad06fe669d98de176ffae075106fbef4bf35d8ac 100644 (file)
@@ -140,6 +140,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;
        }