[lkml]   [2021]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] mm/debug_vm_pgtable: Fix corrupted PG_arch_1 by set_pmd_at()
Hi Gavin,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to hnaz-linux-mm/master linux/master v5.13 next-20210701]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in]

base: 3dbdb38e286903ec220aaf1fb29a8d94297da246
config: x86_64-randconfig-a004-20210702 (attached as .config)
compiler: clang version 13.0.0 ( 9eb613b2de3163686b1a4bd1160f15ac56a4b083)
reproduce (this is a W=1 build):
wget -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git remote add linux-review
git fetch --no-tags linux-review Gavin-Shan/mm-debug_vm_pgtable-Fix-corrupted-PG_arch_1-by-set_pmd_at/20210702-183310
git checkout 414db1c0feb54b545b3df56bc19ffff27580deb5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <>

All errors (new ones prefixed by >>):

>> mm/debug_vm_pgtable.c:347:22: error: invalid operands to binary expression ('struct page *' and 'struct page *')
struct page *page = pfn_to_page(page);
include/asm-generic/memory_model.h:53:21: note: expanded from macro 'pfn_to_page'
#define pfn_to_page __pfn_to_page
include/asm-generic/memory_model.h:25:37: note: expanded from macro '__pfn_to_page'
#define __pfn_to_page(pfn) (vmemmap + (pfn))
~~~~~~~ ^ ~~~~~
1 error generated.

vim +347 mm/debug_vm_pgtable.c

342 static void __init pud_advanced_tests(struct mm_struct *mm,
343 struct vm_area_struct *vma, pud_t *pudp,
344 unsigned long pfn, unsigned long vaddr,
345 pgprot_t prot)
346 {
> 347 struct page *page = pfn_to_page(page);
348 pud_t pud;
350 if (!has_transparent_hugepage())
351 return;
353 pr_debug("Validating PUD advanced\n");
354 /* Align the address wrt HPAGE_PUD_SIZE */
355 vaddr &= HPAGE_PUD_MASK;
357 pud = pfn_pud(pfn, prot);
358 set_pud_at(mm, vaddr, pudp, pud);
359 flush_dcache_page(page);
360 pudp_set_wrprotect(mm, vaddr, pudp);
361 pud = READ_ONCE(*pudp);
362 WARN_ON(pud_write(pud));

0-DAY CI Kernel Test Service, Intel Corporation
[unhandled content-type:application/gzip]
 \ /
  Last update: 2021-07-02 20:11    [W:0.818 / U:1.432 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site