Hi Claire, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.11-rc6 next-20210125] [cannot apply to swiotlb/linux-next robh/for-next xen-tip/linux-next] [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] url: https://github.com/0day-ci/linux/commits/Claire-Chang/Restricted-DMA/20210209-142608 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 61556703b610a104de324e4f061dc6cf7b218b46 config: arm-allyesconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/a766e1949e37b6b82605062e9ef9dd109d2ee940 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Claire-Chang/Restricted-DMA/20210209-142608 git checkout a766e1949e37b6b82605062e9ef9dd109d2ee940 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/asm-generic/memory_model.h:5, from arch/arm/include/asm/memory.h:403, from arch/arm/include/asm/page.h:160, from arch/arm/include/asm/thread_info.h:14, from include/linux/thread_info.h:56, from include/asm-generic/current.h:5, from ./arch/arm/include/generated/asm/current.h:1, from include/linux/sched.h:12, from include/linux/ratelimit.h:6, from include/linux/dev_printk.h:16, from include/linux/device.h:15, from include/linux/dma-mapping.h:7, from include/linux/dma-direct.h:9, from kernel/dma/swiotlb.c:24: kernel/dma/swiotlb.c: In function 'rmem_swiotlb_device_init': >> kernel/dma/swiotlb.c:811:32: error: 'reme' undeclared (first use in this function) 811 | unsigned long pfn = PHYS_PFN(reme->base); | ^~~~ include/linux/pfn.h:22:39: note: in definition of macro 'PHYS_PFN' 22 | #define PHYS_PFN(x) ((unsigned long)((x) >> PAGE_SHIFT)) | ^ kernel/dma/swiotlb.c:811:32: note: each undeclared identifier is reported only once for each function it appears in 811 | unsigned long pfn = PHYS_PFN(reme->base); | ^~~~ include/linux/pfn.h:22:39: note: in definition of macro 'PHYS_PFN' 22 | #define PHYS_PFN(x) ((unsigned long)((x) >> PAGE_SHIFT)) | ^ kernel/dma/swiotlb.c:811:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 811 | unsigned long pfn = PHYS_PFN(reme->base); | ^~~~~~~~ vim +/reme +811 kernel/dma/swiotlb.c 791 792 #ifdef CONFIG_DMA_RESTRICTED_POOL 793 static int rmem_swiotlb_device_init(struct reserved_mem *rmem, 794 struct device *dev) 795 { 796 struct swiotlb *swiotlb = rmem->priv; 797 int ret; 798 799 if (dev->dev_swiotlb) 800 return -EBUSY; 801 802 /* Since multiple devices can share the same pool, the private data, 803 * swiotlb struct, will be initialized by the first device attached 804 * to it. 805 */ 806 if (!swiotlb) { 807 swiotlb = kzalloc(sizeof(*swiotlb), GFP_KERNEL); 808 if (!swiotlb) 809 return -ENOMEM; 810 #ifdef CONFIG_ARM > 811 unsigned long pfn = PHYS_PFN(reme->base); 812 813 if (!PageHighMem(pfn_to_page(pfn))) { 814 ret = -EINVAL; 815 goto cleanup; 816 } 817 #endif /* CONFIG_ARM */ 818 819 ret = swiotlb_init_tlb_pool(swiotlb, rmem->base, rmem->size); 820 if (ret) 821 goto cleanup; 822 823 rmem->priv = swiotlb; 824 } 825 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org