Re: [PATCH v3 6/7] powerpc/mm: implement set_memory_attr()

From: kbuild test robot
Date: Tue Feb 11 2020 - 02:26:42 EST


Hi Christophe,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.6-rc1 next-20200211]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Christophe-Leroy/powerpc-mm-Implement-set_memory-routines/20200204-030618
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-skiroot_defconfig (attached as .config)
compiler: powerpc64le-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=powerpc

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

All errors (new ones prefixed by >>):

In file included from arch/powerpc/include/asm/page.h:304:0,
from arch/powerpc/include/asm/mmu.h:132,
from arch/powerpc/include/asm/lppaca.h:47,
from arch/powerpc/include/asm/paca.h:17,
from arch/powerpc/include/asm/current.h:13,
from include/linux/thread_info.h:21,
from include/asm-generic/preempt.h:5,
from ./arch/powerpc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/mm.h:10,
from arch/powerpc/mm/pageattr.c:9:
arch/powerpc/mm/pageattr.c: In function 'set_page_attr':
>> arch/powerpc/mm/pageattr.c:85:27: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
pgprot_t prot = __pgprot((int)data);
^
arch/powerpc/include/asm/pgtable-be-types.h:69:36: note: in definition of macro '__pgprot'
#define __pgprot(x) ((pgprot_t) { (x) })
^
cc1: all warnings being treated as errors

vim +85 arch/powerpc/mm/pageattr.c

75
76 /*
77 * Set the attributes of a page:
78 *
79 * This function is used by PPC32 at the end of init to set final kernel memory
80 * protection. It includes changing the maping of the page it is executing from
81 * and data pages it is using.
82 */
83 static int set_page_attr(pte_t *ptep, unsigned long addr, void *data)
84 {
> 85 pgprot_t prot = __pgprot((int)data);
86
87 spin_lock(&init_mm.page_table_lock);
88
89 set_pte_at(&init_mm, addr, ptep, pte_modify(*ptep, prot));
90 flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
91
92 spin_unlock(&init_mm.page_table_lock);
93
94 return 0;
95 }
96

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

Attachment: .config.gz
Description: application/gzip