mm/kasan/shadow.c:496:15: sparse: sparse: restricted kasan_vmalloc_flags_t degrades to integer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f022814633e1c600507b3a99691b4d624c2813f0
commit: f6e39794f4b6da7ca9b77f2f9ad11fd6f0ac83e5 kasan, vmalloc: only tag normal vmalloc allocations
date:   3 days ago
config: s390-randconfig-s031-20220327 (https://download.01.org/0day-ci/archive/20220327/202203272343.oME5HaYV-lkp@xxxxxxxxx/config)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f6e39794f4b6da7ca9b77f2f9ad11fd6f0ac83e5
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout f6e39794f4b6da7ca9b77f2f9ad11fd6f0ac83e5
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=s390 SHELL=/bin/bash mm/kasan/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
>> mm/kasan/shadow.c:496:15: sparse: sparse: restricted kasan_vmalloc_flags_t degrades to integer

vim +496 mm/kasan/shadow.c

   477	
   478	void *__kasan_unpoison_vmalloc(const void *start, unsigned long size,
   479				       kasan_vmalloc_flags_t flags)
   480	{
   481		/*
   482		 * Software KASAN modes unpoison both VM_ALLOC and non-VM_ALLOC
   483		 * mappings, so the KASAN_VMALLOC_VM_ALLOC flag is ignored.
   484		 * Software KASAN modes can't optimize zeroing memory by combining it
   485		 * with setting memory tags, so the KASAN_VMALLOC_INIT flag is ignored.
   486		 */
   487	
   488		if (!is_vmalloc_or_module_addr(start))
   489			return (void *)start;
   490	
   491		/*
   492		 * Don't tag executable memory with the tag-based mode.
   493		 * The kernel doesn't tolerate having the PC register tagged.
   494		 */
   495		if (IS_ENABLED(CONFIG_KASAN_SW_TAGS) &&
 > 496		    !(flags & KASAN_VMALLOC_PROT_NORMAL))
   497			return (void *)start;
   498	
   499		start = set_tag(start, kasan_random_tag());
   500		kasan_unpoison(start, size, false);
   501		return (void *)start;
   502	}
   503	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux