dma-buf: system_heap: Make sure to return an error if we abort
authorJohn Stultz <john.stultz@linaro.org>
Tue, 19 Jan 2021 20:45:06 +0000 (20:45 +0000)
committerSumit Semwal <sumit.semwal@linaro.org>
Fri, 22 Jan 2021 08:04:21 +0000 (13:34 +0530)
If we abort from the allocation due to a fatal_signal_pending(),
be sure we report an error so any return code paths don't trip
over the fact that the allocation didn't succeed.

Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Liam Mark <lmark@codeaurora.org>
Cc: Laura Abbott <labbott@kernel.org>
Cc: Brian Starkey <Brian.Starkey@arm.com>
Cc: Hridya Valsaraju <hridya@google.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Sandeep Patil <sspatil@google.com>
Cc: Daniel Mentz <danielmentz@google.com>
Cc: Chris Goldsworthy <cgoldswo@codeaurora.org>
Cc: Ørjan Eide <orjan.eide@arm.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Ezequiel Garcia <ezequiel@collabora.com>
Cc: Simon Ser <contact@emersion.fr>
Cc: James Jones <jajones@nvidia.com>
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Suggested-by: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210119204508.9256-1-john.stultz@linaro.org
drivers/dma-buf/heaps/system_heap.c

index 17e0e9a68baff4695f17c079b5f8ae29ec1e7ad3..405351aad2a8e665ec5f8873bd3852be947bdb98 100644 (file)
@@ -363,8 +363,10 @@ static int system_heap_allocate(struct dma_heap *heap,
                 * Avoid trying to allocate memory if the process
                 * has been killed by SIGKILL
                 */
-               if (fatal_signal_pending(current))
+               if (fatal_signal_pending(current)) {
+                       ret = -EINTR;
                        goto free_buffer;
+               }
 
                page = alloc_largest_available(size_remaining, max_order);
                if (!page)