[arm:ktext 16/19] arch/arm64/mm/ktext.c:145:35: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast
kernel test robot
lkp at intel.com
Thu Aug 11 05:33:00 PDT 2022
Hi Russell,
First bad commit (maybe != root cause):
tree: git://git.armlinux.org.uk/~rmk/linux-arm.git ktext
head: 6f969d4aee6bbafad356a7bae6e37d9e2dce9e08
commit: 5e25ed1e1f5ddef3d1be949922f9ea10c2e45b24 [16/19] arm64: text replication: add Kconfig
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20220811/202208112047.Ws0eLdhq-lkp@intel.com/config)
compiler: aarch64-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
git remote add arm git://git.armlinux.org.uk/~rmk/linux-arm.git
git fetch --no-tags arm ktext
git checkout 5e25ed1e1f5ddef3d1be949922f9ea10c2e45b24
# 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=arm64 SHELL=/bin/bash arch/arm64/mm/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp at intel.com>
All warnings (new ones prefixed by >>):
arch/arm64/mm/ktext.c: In function 'ktext_replication_patch_alternative':
arch/arm64/mm/ktext.c:96:17: error: implicit declaration of function 'clean_dcache_range_nopatch' [-Werror=implicit-function-declaration]
96 | clean_dcache_range_nopatch((u64)p, (u64)p + size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/mm/ktext.c: In function 'ktext_replication_init':
arch/arm64/mm/ktext.c:145:37: error: implicit declaration of function 'memblock_alloc_node'; did you mean 'kmem_cache_alloc_node'? [-Werror=implicit-function-declaration]
145 | kernel_texts[nid] = memblock_alloc_node(size, PAGE_SIZE, nid);
| ^~~~~~~~~~~~~~~~~~~
| kmem_cache_alloc_node
>> arch/arm64/mm/ktext.c:145:35: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
145 | kernel_texts[nid] = memblock_alloc_node(size, PAGE_SIZE, nid);
| ^
>> arch/arm64/mm/ktext.c:151:31: warning: assignment to 'struct pgtables *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
151 | pgtables[nid] = memblock_alloc_node(sizeof(*pgtables[0]),
| ^
cc1: some warnings being treated as errors
vim +145 arch/arm64/mm/ktext.c
c328a296007681 Russell King (Oracle 2022-07-07 114)
06e9efea0a2391 Russell King (Oracle 2022-04-20 115) /* Allocate page tables and memory for the replicated kernel texts. */
4a17b67dc0c254 Russell King (Oracle 2022-04-21 116) void ktext_replication_init(void)
4a17b67dc0c254 Russell King (Oracle 2022-04-21 117) {
c5ce21bcc37dcf Russell King (Oracle 2022-06-17 118) size_t size = __end_rodata - _stext;
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 119) int kidx = pgd_index((phys_addr_t)KERNEL_START);
62f0b42355e0b5 Russell King (Oracle 2022-05-16 120) int nid;
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 121)
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 122) /*
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 123) * If we've messed up and the kernel shares a L0 entry with the
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 124) * module or vmalloc area, then don't even attempt to use text
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 125) * replication.
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 126) */
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 127) if (pgd_index(MODULES_VADDR) == kidx) {
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 128) pr_warn("Kernel is located in the same L0 index as modules - text replication disabled\n");
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 129) return;
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 130) }
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 131) if (pgd_index(VMALLOC_START) == kidx) {
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 132) pr_warn("Kernel is located in the same L0 index as vmalloc - text replication disabled\n");
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 133) return;
cc8a46d8fdca7d Russell King (Oracle 2022-04-21 134) }
62f0b42355e0b5 Russell King (Oracle 2022-05-16 135)
c328a296007681 Russell King (Oracle 2022-07-07 136) if (!ktext_enabled)
c328a296007681 Russell King (Oracle 2022-07-07 137) return;
c328a296007681 Russell King (Oracle 2022-07-07 138)
62f0b42355e0b5 Russell King (Oracle 2022-05-16 139) for_each_node(nid) {
62f0b42355e0b5 Russell King (Oracle 2022-05-16 140) /* Nothing to do for node 0 */
62f0b42355e0b5 Russell King (Oracle 2022-05-16 141) if (!nid)
62f0b42355e0b5 Russell King (Oracle 2022-05-16 142) continue;
62f0b42355e0b5 Russell King (Oracle 2022-05-16 143)
62f0b42355e0b5 Russell King (Oracle 2022-05-16 144) /* Allocate and copy initial kernel text for this node */
62f0b42355e0b5 Russell King (Oracle 2022-05-16 @145) kernel_texts[nid] = memblock_alloc_node(size, PAGE_SIZE, nid);
62f0b42355e0b5 Russell King (Oracle 2022-05-16 146) memcpy(kernel_texts[nid], _stext, size);
62f0b42355e0b5 Russell King (Oracle 2022-05-16 147) caches_clean_inval_pou((u64)kernel_texts[nid],
62f0b42355e0b5 Russell King (Oracle 2022-05-16 148) (u64)kernel_texts[nid] + size);
06e9efea0a2391 Russell King (Oracle 2022-04-20 149)
06e9efea0a2391 Russell King (Oracle 2022-04-20 150) /* Allocate the pagetables for this node */
06e9efea0a2391 Russell King (Oracle 2022-04-20 @151) pgtables[nid] = memblock_alloc_node(sizeof(*pgtables[0]),
06e9efea0a2391 Russell King (Oracle 2022-04-20 152) PGD_SIZE, nid);
06e9efea0a2391 Russell King (Oracle 2022-04-20 153)
06e9efea0a2391 Russell King (Oracle 2022-04-20 154) /* Copy initial swapper page directory */
06e9efea0a2391 Russell King (Oracle 2022-04-20 155) memcpy(pgtables[nid]->swapper_pg_dir, swapper_pg_dir, PGD_SIZE);
26904e19f00089 Russell King (Oracle 2022-05-16 156)
26904e19f00089 Russell King (Oracle 2022-05-16 157) /* Clear the kernel mapping */
26904e19f00089 Russell King (Oracle 2022-05-16 158) memset(&pgtables[nid]->swapper_pg_dir[kidx], 0,
26904e19f00089 Russell King (Oracle 2022-05-16 159) sizeof(pgtables[nid]->swapper_pg_dir[kidx]));
26904e19f00089 Russell King (Oracle 2022-05-16 160)
26904e19f00089 Russell King (Oracle 2022-05-16 161) /* Create kernel mapping pointing at our local copy */
26904e19f00089 Russell King (Oracle 2022-05-16 162) create_kernel_nid_map(pgtables[nid]->swapper_pg_dir,
26904e19f00089 Russell King (Oracle 2022-05-16 163) kernel_texts[nid]);
06e9efea0a2391 Russell King (Oracle 2022-04-20 164) }
06e9efea0a2391 Russell King (Oracle 2022-04-20 165) }
06e9efea0a2391 Russell King (Oracle 2022-04-20 166)
:::::: The code at line 145 was first introduced by commit
:::::: 62f0b42355e0b5f73456ce8df0e926749d8fdf7e arm64: text replication: copy initial kernel text
:::::: TO: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>
:::::: CC: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
More information about the linux-arm-kernel
mailing list