Re: [PATCH] iommu: Add Kconfig help text for IOMMU_SVA

From: kernel test robot
Date: Sat May 06 2023 - 11:40:38 EST


Hi Jacob,

kernel test robot noticed the following build warnings:

[auto build test WARNING on next-20230505]
[also build test WARNING on linus/master]
[cannot apply to joro-iommu/next v6.3 v6.3-rc7 v6.3-rc6 v6.3]
[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/Jacob-Pan/iommu-Add-Kconfig-help-text-for-IOMMU_SVA/20230506-212836
base: next-20230505
patch link: https://lore.kernel.org/r/20230506133134.1492395-1-jacob.jun.pan%40linux.intel.com
patch subject: [PATCH] iommu: Add Kconfig help text for IOMMU_SVA
config: csky-defconfig (https://download.01.org/0day-ci/archive/20230506/202305062355.8cUG2sjd-lkp@xxxxxxxxx/config)
compiler: csky-linux-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/7a9fdfc3792c64278f1950f3880278b989749944
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Jacob-Pan/iommu-Add-Kconfig-help-text-for-IOMMU_SVA/20230506-212836
git checkout 7a9fdfc3792c64278f1950f3880278b989749944
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=csky olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=csky SHELL=/bin/bash drivers/iommu/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202305062355.8cUG2sjd-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

In file included from arch/csky/include/asm/mmu_context.h:6,
from include/linux/mmu_context.h:5,
from drivers/iommu/iommu-sva.c:5:
>> include/asm-generic/mm_hooks.h:10:40: warning: 'struct mm_struct' declared inside parameter list will not be visible outside of this definition or declaration
10 | static inline int arch_dup_mmap(struct mm_struct *oldmm,
| ^~~~~~~~~
include/asm-generic/mm_hooks.h:16:42: warning: 'struct mm_struct' declared inside parameter list will not be visible outside of this definition or declaration
16 | static inline void arch_exit_mmap(struct mm_struct *mm)
| ^~~~~~~~~
include/asm-generic/mm_hooks.h:20:38: warning: 'struct mm_struct' declared inside parameter list will not be visible outside of this definition or declaration
20 | static inline void arch_unmap(struct mm_struct *mm,
| ^~~~~~~~~
include/asm-generic/mm_hooks.h:25:15: error: unknown type name 'bool'
25 | static inline bool arch_vma_access_permitted(struct vm_area_struct *vma,
| ^~~~
include/asm-generic/mm_hooks.h:26:17: error: unknown type name 'bool'
26 | bool write, bool execute, bool foreign)
| ^~~~
include/asm-generic/mm_hooks.h:1:1: note: 'bool' is defined in header '<stdbool.h>'; did you forget to '#include <stdbool.h>'?
+++ |+#include <stdbool.h>
1 | /* SPDX-License-Identifier: GPL-2.0 */
include/asm-generic/mm_hooks.h:26:29: error: unknown type name 'bool'
26 | bool write, bool execute, bool foreign)
| ^~~~
include/asm-generic/mm_hooks.h:26:29: note: 'bool' is defined in header '<stdbool.h>'; did you forget to '#include <stdbool.h>'?
include/asm-generic/mm_hooks.h:26:43: error: unknown type name 'bool'
26 | bool write, bool execute, bool foreign)
| ^~~~
include/asm-generic/mm_hooks.h:26:43: note: 'bool' is defined in header '<stdbool.h>'; did you forget to '#include <stdbool.h>'?
drivers/iommu/iommu-sva.c: In function 'iommu_sva_bind_device':
drivers/iommu/iommu-sva.c:69:32: error: invalid use of undefined type 'struct dev_iommu'
69 | max_pasids = dev->iommu->max_pasids;
| ^~
drivers/iommu/iommu-sva.c:78:32: error: invalid application of 'sizeof' to incomplete type 'struct iommu_sva'
78 | handle = kzalloc(sizeof(*handle), GFP_KERNEL);
| ^
drivers/iommu/iommu-sva.c:109:15: error: invalid use of undefined type 'struct iommu_sva'
109 | handle->dev = dev;
| ^~
drivers/iommu/iommu-sva.c:110:15: error: invalid use of undefined type 'struct iommu_sva'
110 | handle->domain = domain;
| ^~
drivers/iommu/iommu-sva.c: In function 'iommu_sva_unbind_device':
drivers/iommu/iommu-sva.c:134:45: error: invalid use of undefined type 'struct iommu_sva'
134 | struct iommu_domain *domain = handle->domain;
| ^~
drivers/iommu/iommu-sva.c:136:36: error: invalid use of undefined type 'struct iommu_sva'
136 | struct device *dev = handle->dev;
| ^~
drivers/iommu/iommu-sva.c: In function 'iommu_sva_get_pasid':
drivers/iommu/iommu-sva.c:150:45: error: invalid use of undefined type 'struct iommu_sva'
150 | struct iommu_domain *domain = handle->domain;
| ^~


vim +10 include/asm-generic/mm_hooks.h

d6dd61c831226f Jeremy Fitzhardinge 2007-05-02 9
c10e83f598d080 Thomas Gleixner 2017-12-14 @10 static inline int arch_dup_mmap(struct mm_struct *oldmm,
d6dd61c831226f Jeremy Fitzhardinge 2007-05-02 11 struct mm_struct *mm)
d6dd61c831226f Jeremy Fitzhardinge 2007-05-02 12 {
c10e83f598d080 Thomas Gleixner 2017-12-14 13 return 0;
d6dd61c831226f Jeremy Fitzhardinge 2007-05-02 14 }
d6dd61c831226f Jeremy Fitzhardinge 2007-05-02 15

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