All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH v3 08/16] kmsan: convert kmsan_handle_dma to use physical addresses
Date: Sat, 16 Aug 2025 19:14:15 +0800	[thread overview]
Message-ID: <202508161823.vfpArxa2-lkp@intel.com> (raw)
In-Reply-To: <38de1c5ffb567c5705826f14742fcaf54522c083.1755193625.git.leon@kernel.org>

Hi Leon,

kernel test robot noticed the following build errors:

[auto build test ERROR on axboe-block/for-next]
[also build test ERROR on akpm-mm/mm-everything trace/for-next linus/master v6.17-rc1 next-20250815]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Leon-Romanovsky/dma-mapping-introduce-new-DMA-attribute-to-indicate-MMIO-memory/20250815-015647
base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link:    https://lore.kernel.org/r/38de1c5ffb567c5705826f14742fcaf54522c083.1755193625.git.leon%40kernel.org
patch subject: [PATCH v3 08/16] kmsan: convert kmsan_handle_dma to use physical addresses
config: x86_64-buildonly-randconfig-004-20250816 (https://download.01.org/0day-ci/archive/20250816/202508161823.vfpArxa2-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250816/202508161823.vfpArxa2-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508161823.vfpArxa2-lkp@intel.com/

All errors (new ones prefixed by >>):

>> mm/kmsan/hooks.c:339:6: error: conflicting types for 'kmsan_handle_dma'
     339 | void kmsan_handle_dma(phys_addr_t phys, size_t size,
         |      ^
   include/linux/kmsan.h:194:6: note: previous declaration is here
     194 | void kmsan_handle_dma(phys_addr_t phys, size_t size,
         |      ^
>> mm/kmsan/hooks.c:371:6: error: too many arguments to function call, expected 3, have 4
     370 |                 kmsan_handle_dma(sg_page(item), item->offset, item->length,
         |                 ~~~~~~~~~~~~~~~~
     371 |                                  dir);
         |                                  ^~~
   mm/kmsan/hooks.c:361:19: note: 'kmsan_handle_dma' declared here
     361 | EXPORT_SYMBOL_GPL(kmsan_handle_dma);
         |                   ^~~~~~~~~~~~~~~~
   include/linux/export.h:90:48: note: expanded from macro 'EXPORT_SYMBOL_GPL'
      90 | #define EXPORT_SYMBOL_GPL(sym)          _EXPORT_SYMBOL(sym, "GPL")
         |                                                        ^~~
   include/linux/export.h:86:54: note: expanded from macro '_EXPORT_SYMBOL'
      86 | #define _EXPORT_SYMBOL(sym, license)    __EXPORT_SYMBOL(sym, license, "")
         |                                                         ^~~
   include/linux/export.h:76:21: note: expanded from macro '__EXPORT_SYMBOL'
      76 |         extern typeof(sym) sym;                                 \
         |                            ^~~
   2 errors generated.


vim +/kmsan_handle_dma +339 mm/kmsan/hooks.c

   337	
   338	/* Helper function to handle DMA data transfers. */
 > 339	void kmsan_handle_dma(phys_addr_t phys, size_t size,
   340			      enum dma_data_direction dir, unsigned int attrs)
   341	{
   342		struct page *page = phys_to_page(phys);
   343		u64 page_offset, to_go, addr;
   344	
   345		if (PageHighMem(page))
   346			return;
   347		addr = (u64)page_address(page) + offset_in_page(phys);
   348		/*
   349		 * The kernel may occasionally give us adjacent DMA pages not belonging
   350		 * to the same allocation. Process them separately to avoid triggering
   351		 * internal KMSAN checks.
   352		 */
   353		while (size > 0) {
   354			page_offset = offset_in_page(addr);
   355			to_go = min(PAGE_SIZE - page_offset, (u64)size);
   356			kmsan_handle_dma_page((void *)addr, to_go, dir);
   357			addr += to_go;
   358			size -= to_go;
   359		}
   360	}
   361	EXPORT_SYMBOL_GPL(kmsan_handle_dma);
   362	
   363	void kmsan_handle_dma_sg(struct scatterlist *sg, int nents,
   364				 enum dma_data_direction dir)
   365	{
   366		struct scatterlist *item;
   367		int i;
   368	
   369		for_each_sg(sg, item, nents, i)
   370			kmsan_handle_dma(sg_page(item), item->offset, item->length,
 > 371					 dir);
   372	}
   373	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2025-08-16 11:15 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-14 17:53 [PATCH v3 00/16] dma-mapping: migrate to physical address-based API Leon Romanovsky
2025-08-14 17:53 ` [PATCH v3 01/16] dma-mapping: introduce new DMA attribute to indicate MMIO memory Leon Romanovsky
2025-08-14 17:53 ` [PATCH v3 02/16] iommu/dma: implement DMA_ATTR_MMIO for dma_iova_link() Leon Romanovsky
2025-08-14 17:53 ` [PATCH v3 03/16] dma-debug: refactor to use physical addresses for page mapping Leon Romanovsky
2025-08-14 17:53 ` [PATCH v3 04/16] dma-mapping: rename trace_dma_*map_page to trace_dma_*map_phys Leon Romanovsky
2025-08-14 17:53 ` [PATCH v3 05/16] iommu/dma: rename iommu_dma_*map_page to iommu_dma_*map_phys Leon Romanovsky
2025-08-14 17:53 ` [PATCH v3 06/16] iommu/dma: extend iommu_dma_*map_phys API to handle MMIO memory Leon Romanovsky
2025-08-14 17:53 ` [PATCH v3 07/16] dma-mapping: convert dma_direct_*map_page to be phys_addr_t based Leon Romanovsky
2025-08-14 17:53 ` [PATCH v3 08/16] kmsan: convert kmsan_handle_dma to use physical addresses Leon Romanovsky
2025-08-16 11:14   ` kernel test robot [this message]
2025-08-14 17:54 ` [PATCH v3 09/16] dma-mapping: handle MMIO flow in dma_map|unmap_page Leon Romanovsky
2025-08-14 17:54 ` [PATCH v3 10/16] xen: swiotlb: Open code map_resource callback Leon Romanovsky
2025-08-14 17:54 ` [PATCH v3 11/16] dma-mapping: export new dma_*map_phys() interface Leon Romanovsky
2025-08-14 17:54 ` [PATCH v3 12/16] mm/hmm: migrate to physical address-based DMA mapping API Leon Romanovsky
2025-08-14 17:54 ` [PATCH v3 13/16] mm/hmm: properly take MMIO path Leon Romanovsky
2025-08-14 17:54 ` [PATCH v3 14/16] block-dma: migrate to dma_map_phys instead of map_page Leon Romanovsky
2025-08-14 17:54 ` [PATCH v3 15/16] block-dma: properly take MMIO path Leon Romanovsky
2025-08-14 17:54 ` [PATCH v3 16/16] nvme-pci: unmap MMIO pages with appropriate interface Leon Romanovsky
2025-08-14 19:05 ` [PATCH v3 00/16] dma-mapping: migrate to physical address-based API Christophe Leroy
2025-08-15  5:10   ` Leon Romanovsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202508161823.vfpArxa2-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=leon@kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.