Hi Hao, Thank you for the patch! Yet something to improve: [auto build test ERROR on f9ff5644bcc04221bae56f922122f2b7f5d24d62] url: https://github.com/intel-lab-lkp/linux/commits/Hao-Sun/mm-new-primitive-kvmemdup/20221219-122348 base: f9ff5644bcc04221bae56f922122f2b7f5d24d62 patch link: https://lore.kernel.org/r/20221219042126.3396-1-sunhao.th%40gmail.com patch subject: [PATCH] mm: new primitive kvmemdup() config: sh-allmodconfig compiler: sh4-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/29c8ee8f5f8fcd8f52aa6912bdb55f3dc135b5a0 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Hao-Sun/mm-new-primitive-kvmemdup/20221219-122348 git checkout 29c8ee8f5f8fcd8f52aa6912bdb55f3dc135b5a0 # 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=sh olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sh SHELL=/bin/bash security/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): >> security/apparmor/policy_unpack.c:164:14: error: conflicting types for 'kvmemdup'; have 'void *(const void *, size_t)' {aka 'void *(const void *, unsigned int)'} 164 | static void *kvmemdup(const void *src, size_t len) | ^~~~~~~~ In file included from include/linux/bitmap.h:11, from include/linux/cpumask.h:12, from include/linux/smp.h:13, from include/linux/lockdep.h:14, from include/linux/rcupdate.h:29, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/audit.h:12, from security/apparmor/include/audit.h:14, from security/apparmor/policy_unpack.c:23: include/linux/string.h:180:14: note: previous declaration of 'kvmemdup' with type 'void *(const void *, size_t, gfp_t)' {aka 'void *(const void *, unsigned int, unsigned int)'} 180 | extern void *kvmemdup(const void *src, size_t len, gfp_t gfp) __realloc_size(2); | ^~~~~~~~ vim +164 security/apparmor/policy_unpack.c 736ec752d95e91 John Johansen 2010-07-29 163 8e51f9087f4024 Matthew Garrett 2018-02-08 @164 static void *kvmemdup(const void *src, size_t len) 8e51f9087f4024 Matthew Garrett 2018-02-08 165 { 8e51f9087f4024 Matthew Garrett 2018-02-08 166 void *p = kvmalloc(len, GFP_KERNEL); 8e51f9087f4024 Matthew Garrett 2018-02-08 167 8e51f9087f4024 Matthew Garrett 2018-02-08 168 if (p) 8e51f9087f4024 Matthew Garrett 2018-02-08 169 memcpy(p, src, len); 8e51f9087f4024 Matthew Garrett 2018-02-08 170 return p; 8e51f9087f4024 Matthew Garrett 2018-02-08 171 } 8e51f9087f4024 Matthew Garrett 2018-02-08 172 -- 0-DAY CI Kernel Test Service https://01.org/lkp