Re: [PATCH] mm/debug_vm_pgtable: Fix corrupted PG_arch_1 by set_pmd_at()
From: Anshuman Khandual
Date: Sun Jul 11 2021 - 23:20:37 EST
On 7/8/21 6:05 AM, kernel test robot wrote:
> 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-20210707]
> [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
> https://git-scm.com/docs/git-format-patch]
>
> url: https://github.com/0day-ci/linux/commits/Gavin-Shan/mm-debug_vm_pgtable-Fix-corrupted-PG_arch_1-by-set_pmd_at/20210702-183310
> base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 3dbdb38e286903ec220aaf1fb29a8d94297da246
> config: x86_64-allyesconfig (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
> reproduce (this is a W=1 build):
> # https://github.com/0day-ci/linux/commit/414db1c0feb54b545b3df56bc19ffff27580deb5
> git remote add linux-review https://github.com/0day-ci/linux
> 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
> make W=1 ARCH=x86_64
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
> In file included from arch/x86/include/asm/page.h:76,
> from arch/x86/include/asm/thread_info.h:12,
> from include/linux/thread_info.h:59,
> from arch/x86/include/asm/preempt.h:7,
> 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 mm/debug_vm_pgtable.c:13:
> mm/debug_vm_pgtable.c: In function 'pud_advanced_tests':
>>> include/asm-generic/memory_model.h:25:37: error: invalid operands to binary + (have 'struct page *' and 'struct page *')
Hello Gavin,
So this problem has been fixed in the other series (which now
includes this patch) you have posted ?
- Anshuman
> 25 | #define __pfn_to_page(pfn) (vmemmap + (pfn))
> | ^
> include/asm-generic/memory_model.h:53:21: note: in expansion of macro '__pfn_to_page'
> 53 | #define pfn_to_page __pfn_to_page
> | ^~~~~~~~~~~~~
> mm/debug_vm_pgtable.c:347:22: note: in expansion of macro 'pfn_to_page'
> 347 | struct page *page = pfn_to_page(page);
> | ^~~~~~~~~~~
>
> Kconfig warnings: (for reference only)
> WARNING: unmet direct dependencies detected for PHY_SPARX5_SERDES
> Depends on (ARCH_SPARX5 || COMPILE_TEST && OF && HAS_IOMEM
> Selected by
> - SPARX5_SWITCH && NETDEVICES && ETHERNET && NET_VENDOR_MICROCHIP && NET_SWITCHDEV && HAS_IOMEM
>
>
> vim +25 include/asm-generic/memory_model.h
>
> 8f6aac419bd590 Christoph Lameter 2007-10-16 23
> af901ca181d92a André Goddard Rosa 2009-11-14 24 /* memmap is virtually contiguous. */
> 8f6aac419bd590 Christoph Lameter 2007-10-16 @25 #define __pfn_to_page(pfn) (vmemmap + (pfn))
> 32272a26974d20 Martin Schwidefsky 2008-12-25 26 #define __page_to_pfn(page) (unsigned long)((page) - vmemmap)
> 8f6aac419bd590 Christoph Lameter 2007-10-16 27
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
>