[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <201912082019.UdtZtXJf%lkp@intel.com>
Date: Sun, 8 Dec 2019 22:10:08 +0800
From: kbuild test robot <lkp@...el.com>
To: Mike Rapoport <rppt@...nel.org>
Cc: kbuild-all@...ts.01.org, Andy Lutomirski <luto@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Alexey Dobriyan <adobriyan@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Arnd Bergmann <arnd@...db.de>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
James Bottomley <jejb@...ux.ibm.com>,
Peter Zijlstra <peterz@...radead.org>,
Steven Rostedt <rostedt@...dmis.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Linux API <linux-api@...r.kernel.org>,
Linux-MM <linux-mm@...ck.org>, X86 ML <x86@...nel.org>,
Mike Rapoport <rppt@...ux.ibm.com>,
Alan Cox <alan@...ux.intel.com>,
"Reshetova, Elena" <elena.reshetova@...el.com>,
Tycho Andersen <tycho@...ho.ws>,
Christopher Lameter <cl@...ux.com>
Subject: Re: [PATCH] mm: extend memfd with ability to create secret memory
Hi Mike,
I love your patch! Yet something to improve:
[auto build test ERROR on mmotm/master]
[also build test ERROR on linux/master v5.4]
[cannot apply to arm-soc/for-next linus/master next-20191208]
[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/Mike-Rapoport/mm-extend-memfd-with-ability-to-create-secret-memory/20191207-130906
base: git://git.cmpxchg.org/linux-mmotm.git master
config: arm64-randconfig-a001-20191208 (attached as .config)
compiler: aarch64-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=arm64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
mm/secretmem.c: In function 'secretmem_fault':
>> mm/secretmem.c:45:9: error: implicit declaration of function 'set_pages_array_uc'; did you mean 'set_page_dirty_lock'? [-Werror=implicit-function-declaration]
err = set_pages_array_uc(&page, 1);
^~~~~~~~~~~~~~~~~~
set_page_dirty_lock
mm/secretmem.c: In function 'secretmem_close':
>> mm/secretmem.c:75:4: error: implicit declaration of function 'set_pages_array_wb'; did you mean 'set_page_dirty'? [-Werror=implicit-function-declaration]
set_pages_array_wb(&page, 1);
^~~~~~~~~~~~~~~~~~
set_page_dirty
cc1: some warnings being treated as errors
vim +45 mm/secretmem.c
21
22 static vm_fault_t secretmem_fault(struct vm_fault *vmf)
23 {
24 struct secretmem_state *state = vmf->vma->vm_file->private_data;
25 struct address_space *mapping = vmf->vma->vm_file->f_mapping;
26 pgoff_t offset = vmf->pgoff;
27 unsigned long addr;
28 struct page *page;
29 int err;
30
31 page = find_get_page(mapping, offset);
32 if (!page) {
33 page = pagecache_get_page(mapping, offset,
34 FGP_CREAT|FGP_FOR_MMAP,
35 vmf->gfp_mask);
36 if (!page)
37 return vmf_error(-ENOMEM);
38
39 __SetPageUptodate(page);
40 }
41
42 if (state->mode == SECRETMEM_EXCLUSIVE)
43 err = set_direct_map_invalid_noflush(page);
44 else if (state->mode == SECRETMEM_UNCACHED)
> 45 err = set_pages_array_uc(&page, 1);
46 else
47 BUG();
48
49 if (err) {
50 delete_from_page_cache(page);
51 return vmf_error(err);
52 }
53
54 addr = (unsigned long)page_address(page);
55 flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
56
57 vmf->page = page;
58 return 0;
59 }
60
61 static void secretmem_close(struct vm_area_struct *vma)
62 {
63 struct secretmem_state *state = vma->vm_file->private_data;
64 struct address_space *mapping = vma->vm_file->f_mapping;
65 struct page *page;
66 pgoff_t index;
67
68 xa_for_each(&mapping->i_pages, index, page) {
69 get_page(page);
70 lock_page(page);
71
72 if (state->mode == SECRETMEM_EXCLUSIVE)
73 set_direct_map_default_noflush(page);
74 else if (state->mode == SECRETMEM_UNCACHED)
> 75 set_pages_array_wb(&page, 1);
76 else
77 BUG();
78
79 __ClearPageDirty(page);
80 delete_from_page_cache(page);
81
82 unlock_page(page);
83 put_page(page);
84 }
85 }
86
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (37879 bytes)
Powered by blists - more mailing lists