]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
dma-buf/heaps: Correct the types of fd_flags and heap_flags
authorBarry Song <v-songbaohua@oppo.com>
Thu, 6 Jun 2024 02:02:13 +0000 (14:02 +1200)
committerSumit Semwal <sumit.semwal@linaro.org>
Wed, 19 Jun 2024 14:35:34 +0000 (20:05 +0530)
dma_heap_allocation_data defines the UAPI as follows:

 struct dma_heap_allocation_data {
        __u64 len;
        __u32 fd;
        __u32 fd_flags;
        __u64 heap_flags;
 };

But dma heaps are casting both fd_flags and heap_flags into
unsigned long. This patch makes dma heaps - cma heap and
system heap have consistent types with UAPI.

Signed-off-by: Barry Song <v-songbaohua@oppo.com>
Acked-by: John Stultz <jstultz@google.com>
Reviewed-by: Carlos Llamas <cmllamas@google.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240606020213.49854-1-21cnbao@gmail.com
drivers/dma-buf/heaps/cma_heap.c
drivers/dma-buf/heaps/system_heap.c
include/linux/dma-heap.h

index 4a63567e93bae3dd2d5affabeedfd713aaa51460..c384004b918e23909a5b8bef519e6860b1dfc021 100644 (file)
@@ -274,8 +274,8 @@ static const struct dma_buf_ops cma_heap_buf_ops = {
 
 static struct dma_buf *cma_heap_allocate(struct dma_heap *heap,
                                         unsigned long len,
-                                        unsigned long fd_flags,
-                                        unsigned long heap_flags)
+                                        u32 fd_flags,
+                                        u64 heap_flags)
 {
        struct cma_heap *cma_heap = dma_heap_get_drvdata(heap);
        struct cma_heap_buffer *buffer;
index 9076d47ed2ef46cdb2e300eca3303ee15eb14639..d78cdb9d01e5e404f5024ea04cd6acbffa5bd0f6 100644 (file)
@@ -333,8 +333,8 @@ static struct page *alloc_largest_available(unsigned long size,
 
 static struct dma_buf *system_heap_allocate(struct dma_heap *heap,
                                            unsigned long len,
-                                           unsigned long fd_flags,
-                                           unsigned long heap_flags)
+                                           u32 fd_flags,
+                                           u64 heap_flags)
 {
        struct system_heap_buffer *buffer;
        DEFINE_DMA_BUF_EXPORT_INFO(exp_info);
index 0c05561cad6e62b78af6d492b565f50db21e596f..064bad7250611a6520a176597805940ef67d1fad 100644 (file)
@@ -23,8 +23,8 @@ struct dma_heap;
 struct dma_heap_ops {
        struct dma_buf *(*allocate)(struct dma_heap *heap,
                                    unsigned long len,
-                                   unsigned long fd_flags,
-                                   unsigned long heap_flags);
+                                   u32 fd_flags,
+                                   u64 heap_flags);
 };
 
 /**