* [mmotm:master 117/211] mm/hmm.c:331:10: error: implicit declaration of function 'pgd_addr_end'
@ 2017-03-17 1:21 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2017-03-17 1:21 UTC (permalink / raw)
To: Jérôme Glisse
Cc: kbuild-all, Johannes Weiner, Evgeny Baskakov, John Hubbard,
Mark Hairgrove, Sherry Cheung, Subhash Gutti, Andrew Morton,
Linux Memory Management List
[-- Attachment #1: Type: text/plain, Size: 7122 bytes --]
tree: git://git.cmpxchg.org/linux-mmotm.git master
head: 8276ddb3c638602509386f1a05f75326dbf5ce09
commit: 905a9b0bd6eba8d56ea426ff5ad32b19eecae750 [117/211] mm/hmm/mirror: helper to snapshot CPU page table
config: blackfin-allmodconfig (attached as .config)
compiler: bfin-uclinux-gcc (GCC) 6.2.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 905a9b0bd6eba8d56ea426ff5ad32b19eecae750
# save the attached .config to linux build tree
make.cross ARCH=blackfin
All error/warnings (new ones prefixed by >>):
mm/hmm.c: In function 'hmm_vma_walk':
>> mm/hmm.c:331:10: error: implicit declaration of function 'pgd_addr_end' [-Werror=implicit-function-declaration]
next = pgd_addr_end(addr, end);
^~~~~~~~~~~~
>> mm/hmm.c:332:10: error: implicit declaration of function 'pgd_offset' [-Werror=implicit-function-declaration]
pgdp = pgd_offset(vma->vm_mm, addr);
^~~~~~~~~~
>> mm/hmm.c:332:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
pgdp = pgd_offset(vma->vm_mm, addr);
^
>> mm/hmm.c:345:10: error: implicit declaration of function 'pmd_addr_end' [-Werror=implicit-function-declaration]
next = pmd_addr_end(addr, end);
^~~~~~~~~~~~
>> mm/hmm.c:347:9: error: implicit declaration of function 'pmd_read_atomic' [-Werror=implicit-function-declaration]
pmd = pmd_read_atomic(pmdp);
^~~~~~~~~~~~~~~
>> mm/hmm.c:347:7: error: incompatible types when assigning to type 'pmd_t {aka struct <anonymous>}' from type 'int'
pmd = pmd_read_atomic(pmdp);
^
>> mm/hmm.c:353:7: error: implicit declaration of function 'pmd_trans_huge' [-Werror=implicit-function-declaration]
if (pmd_trans_huge(pmd) || pmd_devmap(pmd)) {
^~~~~~~~~~~~~~
mm/hmm.c:354:24: error: implicit declaration of function 'pmd_pfn' [-Werror=implicit-function-declaration]
unsigned long pfn = pmd_pfn(pmd) + pte_index(addr);
^~~~~~~
>> mm/hmm.c:354:39: error: implicit declaration of function 'pte_index' [-Werror=implicit-function-declaration]
unsigned long pfn = pmd_pfn(pmd) + pte_index(addr);
^~~~~~~~~
>> mm/hmm.c:357:8: error: implicit declaration of function 'pmd_protnone' [-Werror=implicit-function-declaration]
if (pmd_protnone(pmd)) {
^~~~~~~~~~~~
mm/hmm.c:358:5: error: implicit declaration of function 'hmm_pfns_clear' [-Werror=implicit-function-declaration]
hmm_pfns_clear(&pfns[i], addr, next);
^~~~~~~~~~~~~~
>> mm/hmm.c:361:13: error: implicit declaration of function 'pmd_write' [-Werror=implicit-function-declaration]
flags |= pmd_write(*pmdp) ? HMM_PFN_WRITE : 0;
^~~~~~~~~
>> mm/hmm.c:368:10: error: implicit declaration of function 'pte_offset_map' [-Werror=implicit-function-declaration]
ptep = pte_offset_map(pmdp, addr);
^~~~~~~~~~~~~~
mm/hmm.c:368:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
ptep = pte_offset_map(pmdp, addr);
^
>> mm/hmm.c:375:8: error: implicit declaration of function 'pte_none' [-Werror=implicit-function-declaration]
if (pte_none(pte)) {
^~~~~~~~
>> mm/hmm.c:381:9: error: implicit declaration of function 'pte_present' [-Werror=implicit-function-declaration]
if (!pte_present(pte) && !non_swap_entry(entry)) {
^~~~~~~~~~~
>> mm/hmm.c:386:32: error: implicit declaration of function 'pte_pfn' [-Werror=implicit-function-declaration]
pfns[i] = hmm_pfn_from_pfn(pte_pfn(pte))|flag;
^~~~~~~
>> mm/hmm.c:387:16: error: implicit declaration of function 'pte_write' [-Werror=implicit-function-declaration]
pfns[i] |= pte_write(pte) ? HMM_PFN_WRITE : 0;
^~~~~~~~~
>> mm/hmm.c:406:3: error: implicit declaration of function 'pte_unmap' [-Werror=implicit-function-declaration]
pte_unmap(ptep - 1);
^~~~~~~~~
cc1: some warnings being treated as errors
vim +/pgd_addr_end +331 mm/hmm.c
325 /*
326 * We are accessing/faulting for a device from an unknown
327 * thread that might be foreign to the mm we are faulting
328 * against so do not call arch_vma_access_permitted() !
329 */
330
> 331 next = pgd_addr_end(addr, end);
> 332 pgdp = pgd_offset(vma->vm_mm, addr);
333 if (pgd_none(*pgdp) || pgd_bad(*pgdp)) {
334 hmm_pfns_empty(&pfns[i], addr, next);
335 continue;
336 }
337
338 next = pud_addr_end(addr, end);
339 pudp = pud_offset(pgdp, addr);
340 if (pud_none(*pudp) || pud_bad(*pudp)) {
341 hmm_pfns_empty(&pfns[i], addr, next);
342 continue;
343 }
344
> 345 next = pmd_addr_end(addr, end);
346 pmdp = pmd_offset(pudp, addr);
> 347 pmd = pmd_read_atomic(pmdp);
348 barrier();
349 if (pmd_none(pmd) || pmd_bad(pmd)) {
350 hmm_pfns_empty(&pfns[i], addr, next);
351 continue;
352 }
> 353 if (pmd_trans_huge(pmd) || pmd_devmap(pmd)) {
> 354 unsigned long pfn = pmd_pfn(pmd) + pte_index(addr);
355 hmm_pfn_t flags = flag;
356
> 357 if (pmd_protnone(pmd)) {
358 hmm_pfns_clear(&pfns[i], addr, next);
359 continue;
360 }
> 361 flags |= pmd_write(*pmdp) ? HMM_PFN_WRITE : 0;
362 flags |= pmd_devmap(pmd) ? HMM_PFN_DEVICE : 0;
363 for (; addr < next; addr += PAGE_SIZE, i++, pfn++)
364 pfns[i] = hmm_pfn_from_pfn(pfn) | flags;
365 continue;
366 }
367
> 368 ptep = pte_offset_map(pmdp, addr);
369 for (; addr < next; addr += PAGE_SIZE, i++, ptep++) {
370 swp_entry_t entry;
371 pte_t pte = *ptep;
372
373 pfns[i] = 0;
374
> 375 if (pte_none(pte)) {
376 pfns[i] = HMM_PFN_EMPTY;
377 continue;
378 }
379
380 entry = pte_to_swp_entry(pte);
> 381 if (!pte_present(pte) && !non_swap_entry(entry)) {
382 continue;
383 }
384
385 if (pte_present(pte)) {
> 386 pfns[i] = hmm_pfn_from_pfn(pte_pfn(pte))|flag;
> 387 pfns[i] |= pte_write(pte) ? HMM_PFN_WRITE : 0;
388 continue;
389 }
390
391 /*
392 * This is a special swap entry, ignore migration, use
393 * device and report anything else as error.
394 */
395 if (is_device_entry(entry)) {
396 pfns[i] = hmm_pfn_from_pfn(swp_offset(entry));
397 if (is_write_device_entry(entry))
398 pfns[i] |= HMM_PFN_WRITE;
399 pfns[i] |= HMM_PFN_DEVICE;
400 pfns[i] |= HMM_PFN_UNADDRESSABLE;
401 pfns[i] |= flag;
402 } else if (!is_migration_entry(entry)) {
403 pfns[i] = HMM_PFN_ERROR;
404 }
405 }
> 406 pte_unmap(ptep - 1);
407 }
408 }
409
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 43905 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-03-17 1:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-17 1:21 [mmotm:master 117/211] mm/hmm.c:331:10: error: implicit declaration of function 'pgd_addr_end' kbuild test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox