projects/linux·commit 17e232b6

Merge tag 'dma-mapping-6.8-2024-01-18' of git://git.infradead.org/users/hch/dma-mapping

17e232b6 · Linus Torvalds <[email protected]> · 2024-01-18 16:49:34 -08:00

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
Commit
17e232b6d2feddd0285e59dbe641c0efe67a5ee6
Parents
77c9622d · 7c65aa3c

Merge commit. Changes below are compared with the first parent: 77c9622d.

Changes

2 files changed · +5 −1

FileStatusAddDelContent
kernel/dma/debug.cmodified+2−1View file
kernel/dma/swiotlb.cmodified+3−0View file

kernel/dma/debug.c

View file
diff --git a/kernel/dma/debug.c b/kernel/dma/debug.c
index 1a5c86d..a6e3792 100644
--- a/kernel/dma/debug.c
+++ b/kernel/dma/debug.c
@@ -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;

kernel/dma/swiotlb.c

View file
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index 97c298b..b079a9a 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -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,