lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sun, 31 Oct 2021 05:18:20 +0800
From:   kernel test robot <lkp@...el.com>
To:     Will Deacon <will@...nel.org>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [arm-perf:kvm/mm-hacking 1/2]
 drivers/irqchip/irq-gic-v3-its.c:2169:9: error: implicit declaration of
 function 'set_memory_decrypted'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git kvm/mm-hacking
head:   dcd2a5d48eac9f3c59295a6bf24374f9692224aa
commit: f27856d7a406974029c677ab353c3f01f6970c0f [1/2] irqchip/gic-v3-its: Mark some in-memory data structures as 'decrypted'
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.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://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/commit/?id=f27856d7a406974029c677ab353c3f01f6970c0f
        git remote add arm-perf https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git
        git fetch --no-tags arm-perf kvm/mm-hacking
        git checkout f27856d7a406974029c677ab353c3f01f6970c0f
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arm 

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

All errors (new ones prefixed by >>):

   drivers/irqchip/irq-gic-v3-its.c: In function 'gic_reset_prop_table':
>> drivers/irqchip/irq-gic-v3-its.c:2169:9: error: implicit declaration of function 'set_memory_decrypted' [-Werror=implicit-function-declaration]
    2169 |         set_memory_decrypted((unsigned long)va, LPI_PROPBASE_SZ >> PAGE_SHIFT);
         |         ^~~~~~~~~~~~~~~~~~~~
   drivers/irqchip/irq-gic-v3-its.c: In function 'its_free_prop_table':
>> drivers/irqchip/irq-gic-v3-its.c:2189:9: error: implicit declaration of function 'set_memory_encrypted' [-Werror=implicit-function-declaration]
    2189 |         set_memory_encrypted(va, LPI_PROPBASE_SZ >> PAGE_SHIFT);
         |         ^~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/irqchip/arm-gic-v3.h:602,
                    from drivers/irqchip/irq-gic-v3-its.c:34:
   drivers/irqchip/irq-gic-v3-its.c: In function 'its_allocate_pending_table':
   arch/arm/include/asm/arch_gicv3.h:164:66: warning: passing argument 1 of 'cpu_cache.flush_kern_dcache_area' makes pointer from integer without a cast [-Wint-conversion]
     164 | #define gic_flush_dcache_to_poc(a,l)    __cpuc_flush_dcache_area((a), (l))
         |                                                                  ^~~
         |                                                                  |
         |                                                                  long unsigned int
   drivers/irqchip/irq-gic-v3-its.c:2955:9: note: in expansion of macro 'gic_flush_dcache_to_poc'
    2955 |         gic_flush_dcache_to_poc(va, LPI_PENDBASE_SZ);
         |         ^~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/include/asm/arch_gicv3.h:164:66: note: expected 'void *' but argument is of type 'long unsigned int'
     164 | #define gic_flush_dcache_to_poc(a,l)    __cpuc_flush_dcache_area((a), (l))
         |                                                                  ^~~
   drivers/irqchip/irq-gic-v3-its.c:2955:9: note: in expansion of macro 'gic_flush_dcache_to_poc'
    2955 |         gic_flush_dcache_to_poc(va, LPI_PENDBASE_SZ);
         |         ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/irqchip/irq-gic-v3-its.c: In function 'its_alloc_table_entry':
   arch/arm/include/asm/arch_gicv3.h:164:66: warning: passing argument 1 of 'cpu_cache.flush_kern_dcache_area' makes pointer from integer without a cast [-Wint-conversion]
     164 | #define gic_flush_dcache_to_poc(a,l)    __cpuc_flush_dcache_area((a), (l))
         |                                                                  ^~~
         |                                                                  |
         |                                                                  long unsigned int
   drivers/irqchip/irq-gic-v3-its.c:3298:25: note: in expansion of macro 'gic_flush_dcache_to_poc'
    3298 |                         gic_flush_dcache_to_poc(l2addr, baser->psz);
         |                         ^~~~~~~~~~~~~~~~~~~~~~~
   arch/arm/include/asm/arch_gicv3.h:164:66: note: expected 'void *' but argument is of type 'long unsigned int'
     164 | #define gic_flush_dcache_to_poc(a,l)    __cpuc_flush_dcache_area((a), (l))
         |                                                                  ^~~
   drivers/irqchip/irq-gic-v3-its.c:3298:25: note: in expansion of macro 'gic_flush_dcache_to_poc'
    3298 |                         gic_flush_dcache_to_poc(l2addr, baser->psz);
         |                         ^~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/set_memory_decrypted +2169 drivers/irqchip/irq-gic-v3-its.c

  2161	
  2162	static void gic_reset_prop_table(void *va)
  2163	{
  2164		/* Priority 0xa0, Group-1, disabled */
  2165		memset(va, LPI_PROP_DEFAULT_PRIO | LPI_PROP_GROUP1, LPI_PROPBASE_SZ);
  2166	
  2167		/* Make sure the GIC will observe the written configuration */
  2168		gic_flush_dcache_to_poc(va, LPI_PROPBASE_SZ);
> 2169		set_memory_decrypted((unsigned long)va, LPI_PROPBASE_SZ >> PAGE_SHIFT);
  2170	}
  2171	
  2172	static struct page *its_allocate_prop_table(gfp_t gfp_flags)
  2173	{
  2174		struct page *prop_page;
  2175	
  2176		prop_page = alloc_pages(gfp_flags, get_order(LPI_PROPBASE_SZ));
  2177		if (!prop_page)
  2178			return NULL;
  2179	
  2180		gic_reset_prop_table(page_address(prop_page));
  2181	
  2182		return prop_page;
  2183	}
  2184	
  2185	static void its_free_prop_table(struct page *prop_page)
  2186	{
  2187		unsigned long va = (unsigned long)page_address(prop_page);
  2188	
> 2189		set_memory_encrypted(va, LPI_PROPBASE_SZ >> PAGE_SHIFT);
  2190		free_pages(va, get_order(LPI_PROPBASE_SZ));
  2191	}
  2192	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (54490 bytes)

Powered by blists - more mailing lists