Hi Juerg, [auto build test ERROR on arm64/for-next/core] [also build test ERROR on v4.13-rc4] [cannot apply to next-20170811] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Tycho-Andersen/Add-support-for-eXclusive-Page-Frame-Ownership/20170813-035705 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 4.9.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All error/warnings (new ones prefixed by >>): drivers//misc/lkdtm_xpfo.c: In function 'read_user_with_flags': drivers//misc/lkdtm_xpfo.c:31:2: error: implicit declaration of function 'user_virt_to_phys' [-Werror=implicit-function-declaration] phys_addr = user_virt_to_phys(user_addr); ^ >> drivers//misc/lkdtm_xpfo.c:37:2: error: implicit declaration of function 'phys_to_virt' [-Werror=implicit-function-declaration] virt_addr = phys_to_virt(phys_addr); ^ >> drivers//misc/lkdtm_xpfo.c:37:12: warning: assignment makes pointer from integer without a cast virt_addr = phys_to_virt(phys_addr); ^ >> drivers//misc/lkdtm_xpfo.c:38:2: error: implicit declaration of function 'virt_to_phys' [-Werror=implicit-function-declaration] if (phys_addr != virt_to_phys(virt_addr)) { ^ cc1: some warnings being treated as errors vim +/phys_to_virt +37 drivers//misc/lkdtm_xpfo.c 10 11 void read_user_with_flags(unsigned long flags) 12 { 13 unsigned long user_addr, user_data = 0xdeadbeef; 14 phys_addr_t phys_addr; 15 void *virt_addr; 16 17 user_addr = vm_mmap(NULL, 0, PAGE_SIZE, 18 PROT_READ | PROT_WRITE | PROT_EXEC, 19 flags, 0); 20 if (user_addr >= TASK_SIZE) { 21 pr_warn("Failed to allocate user memory\n"); 22 return; 23 } 24 25 if (copy_to_user((void __user *)user_addr, &user_data, 26 sizeof(user_data))) { 27 pr_warn("copy_to_user failed\n"); 28 goto free_user; 29 } 30 > 31 phys_addr = user_virt_to_phys(user_addr); 32 if (!phys_addr) { 33 pr_warn("Failed to get physical address of user memory\n"); 34 goto free_user; 35 } 36 > 37 virt_addr = phys_to_virt(phys_addr); > 38 if (phys_addr != virt_to_phys(virt_addr)) { 39 pr_warn("Physical address of user memory seems incorrect\n"); 40 goto free_user; 41 } 42 43 pr_info("Attempting bad read from kernel address %p\n", virt_addr); 44 if (*(unsigned long *)virt_addr == user_data) 45 pr_info("Huh? Bad read succeeded?!\n"); 46 else 47 pr_info("Huh? Bad read didn't fail but data is incorrect?!\n"); 48 49 free_user: 50 vm_munmap(user_addr, PAGE_SIZE); 51 } 52 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip