Merge tag 'dma-mapping-6.8-2024-01-18' of git://git.infradead.org/users/hch/dma-mapping
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 19 Jan 2024 00:49:34 +0000 (16:49 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 19 Jan 2024 00:49:34 +0000 (16:49 -0800)
Pull dma-mapping fixes from Christoph Hellwig:

 - fix kerneldoc warnings (Randy Dunlap)

 - better bounds checking in swiotlb (ZhangPeng)

* tag 'dma-mapping-6.8-2024-01-18' of git://git.infradead.org/users/hch/dma-mapping:
  dma-debug: fix kernel-doc warnings
  swiotlb: check alloc_size before the allocation of a new memory pool

kernel/dma/debug.c
kernel/dma/swiotlb.c

index 1a5c86dd87d598c02e08fa011a08472e8b98b8e0..a6e3792b15f8a5ce0f870901de50b53a356df829 100644 (file)
@@ -62,7 +62,8 @@ enum map_err_types {
  * @pfn: page frame of the start address
  * @offset: offset of mapping relative to pfn
  * @map_err_type: track whether dma_mapping_error() was checked
- * @stacktrace: support backtraces when a violation is detected
+ * @stack_len: number of backtrace entries in @stack_entries
+ * @stack_entries: stack of backtrace history
  */
 struct dma_debug_entry {
        struct list_head list;
index 97c298b210bc71d75eac5ce0dee78ae39f44a746..b079a9a8e08795b40fb0cc3891a68bcb90922876 100644 (file)
@@ -1136,6 +1136,9 @@ static int swiotlb_find_slots(struct device *dev, phys_addr_t orig_addr,
        int cpu, i;
        int index;
 
+       if (alloc_size > IO_TLB_SEGSIZE * IO_TLB_SIZE)
+               return -1;
+
        cpu = raw_smp_processor_id();
        for (i = 0; i < default_nareas; ++i) {
                index = swiotlb_search_area(dev, cpu, i, orig_addr, alloc_size,