[linux-next:master 2999/3150] arch/arm64/mm/mmu.c:1340:5: error: redefinition of 'pud_set_huge'
From: kernel test robot <hidden>
Date: 2021-05-14 08:58:32
Also in:
oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: cd557f1c605fc5a2c0eb0b540610f50dc67dd849 commit: fc3883f43885e02525a495377573ed948f73755a [2999/3150] mm/pgtable: add stubs for {pmd/pub}_{set/clear}_huge config: arm64-randconfig-r031-20210514 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=fc3883f43885e02525a495377573ed948f73755a git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout fc3883f43885e02525a495377573ed948f73755a # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> All errors (new ones prefixed by >>):
quoted
arch/arm64/mm/mmu.c:1340:5: error: redefinition of 'pud_set_huge'
1340 | int pud_set_huge(pud_t *pudp, phys_addr_t phys, pgprot_t prot)
| ^~~~~~~~~~~~
In file included from include/linux/mm.h:33,
from include/linux/pid_namespace.h:7,
from include/linux/ptrace.h:10,
from include/linux/elfcore.h:11,
from include/linux/crash_core.h:6,
from include/linux/kexec.h:18,
from arch/arm64/mm/mmu.c:15:
include/linux/pgtable.h:1378:19: note: previous definition of 'pud_set_huge' was here
1378 | static inline int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
| ^~~~~~~~~~~~quoted
arch/arm64/mm/mmu.c:1368:5: error: redefinition of 'pud_clear_huge'
1368 | int pud_clear_huge(pud_t *pudp)
| ^~~~~~~~~~~~~~
In file included from include/linux/mm.h:33,
from include/linux/pid_namespace.h:7,
from include/linux/ptrace.h:10,
from include/linux/elfcore.h:11,
from include/linux/crash_core.h:6,
from include/linux/kexec.h:18,
from arch/arm64/mm/mmu.c:15:
include/linux/pgtable.h:1382:19: note: previous definition of 'pud_clear_huge' was here
1382 | static inline int pud_clear_huge(pud_t *pud)
| ^~~~~~~~~~~~~~
vim +/pud_set_huge +1340 arch/arm64/mm/mmu.c
61bd93ce801bb6 Ard Biesheuvel 2015-06-01 1339
20a004e7b017cc Will Deacon 2018-02-15 @1340 int pud_set_huge(pud_t *pudp, phys_addr_t phys, pgprot_t prot)
324420bf91f605 Ard Biesheuvel 2016-02-16 1341 {
f7f0097af67c3c Anshuman Khandual 2019-05-27 1342 pud_t new_pud = pfn_pud(__phys_to_pfn(phys), mk_pud_sect_prot(prot));
15122ee2c515a2 Will Deacon 2018-02-21 1343
82034c23fcbc23 Laura Abbott 2018-05-23 1344 /* Only allow permission changes for now */
82034c23fcbc23 Laura Abbott 2018-05-23 1345 if (!pgattr_change_is_safe(READ_ONCE(pud_val(*pudp)),
82034c23fcbc23 Laura Abbott 2018-05-23 1346 pud_val(new_pud)))
15122ee2c515a2 Will Deacon 2018-02-21 1347 return 0;
15122ee2c515a2 Will Deacon 2018-02-21 1348
87dedf7c61ab07 Anshuman Khandual 2019-05-27 1349 VM_BUG_ON(phys & ~PUD_MASK);
82034c23fcbc23 Laura Abbott 2018-05-23 1350 set_pud(pudp, new_pud);
324420bf91f605 Ard Biesheuvel 2016-02-16 1351 return 1;
324420bf91f605 Ard Biesheuvel 2016-02-16 1352 }
324420bf91f605 Ard Biesheuvel 2016-02-16 1353
20a004e7b017cc Will Deacon 2018-02-15 1354 int pmd_set_huge(pmd_t *pmdp, phys_addr_t phys, pgprot_t prot)
324420bf91f605 Ard Biesheuvel 2016-02-16 1355 {
f7f0097af67c3c Anshuman Khandual 2019-05-27 1356 pmd_t new_pmd = pfn_pmd(__phys_to_pfn(phys), mk_pmd_sect_prot(prot));
15122ee2c515a2 Will Deacon 2018-02-21 1357
82034c23fcbc23 Laura Abbott 2018-05-23 1358 /* Only allow permission changes for now */
82034c23fcbc23 Laura Abbott 2018-05-23 1359 if (!pgattr_change_is_safe(READ_ONCE(pmd_val(*pmdp)),
82034c23fcbc23 Laura Abbott 2018-05-23 1360 pmd_val(new_pmd)))
15122ee2c515a2 Will Deacon 2018-02-21 1361 return 0;
15122ee2c515a2 Will Deacon 2018-02-21 1362
87dedf7c61ab07 Anshuman Khandual 2019-05-27 1363 VM_BUG_ON(phys & ~PMD_MASK);
82034c23fcbc23 Laura Abbott 2018-05-23 1364 set_pmd(pmdp, new_pmd);
324420bf91f605 Ard Biesheuvel 2016-02-16 1365 return 1;
324420bf91f605 Ard Biesheuvel 2016-02-16 1366 }
324420bf91f605 Ard Biesheuvel 2016-02-16 1367
20a004e7b017cc Will Deacon 2018-02-15 @1368 int pud_clear_huge(pud_t *pudp)
324420bf91f605 Ard Biesheuvel 2016-02-16 1369 {
20a004e7b017cc Will Deacon 2018-02-15 1370 if (!pud_sect(READ_ONCE(*pudp)))
324420bf91f605 Ard Biesheuvel 2016-02-16 1371 return 0;
20a004e7b017cc Will Deacon 2018-02-15 1372 pud_clear(pudp);
324420bf91f605 Ard Biesheuvel 2016-02-16 1373 return 1;
324420bf91f605 Ard Biesheuvel 2016-02-16 1374 }
324420bf91f605 Ard Biesheuvel 2016-02-16 1375
:::::: The code at line 1340 was first introduced by commit
:::::: 20a004e7b017cce282a46ac5d02c2b9c6b9bb1fa arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables
:::::: TO: Will Deacon [off-list ref]
:::::: CC: Catalin Marinas [off-list ref]
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Attachments
- .config.gz [application/gzip] 41700 bytes