mmotm broken on arm with ebc495cfcea9 (mm: cleanup *pte_alloc* interfaces)

Laura Abbott labbott at redhat.com
Mon Mar 7 17:27:46 PST 2016


Hi,

I just tried the master of mmotm and ran into compilation issues on arm:

   CC      arch/arm/mm/mmu.o
arch/arm/mm/mmu.c:737:37: error: macro "pte_alloc" passed 4 arguments, but takes just 3
      void *(*alloc)(unsigned long sz))
                                      ^
arch/arm/mm/mmu.c:738:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
  {
  ^
arch/arm/mm/mmu.c: In function ‘early_pte_alloc’:
arch/arm/mm/mmu.c:750:47: error: macro "pte_alloc" passed 4 arguments, but takes just 3
   return pte_alloc(pmd, addr, prot, early_alloc);
                                                ^
arch/arm/mm/mmu.c:750:9: error: ‘pte_alloc’ undeclared (first use in this function)
   return pte_alloc(pmd, addr, prot, early_alloc);
          ^
arch/arm/mm/mmu.c:750:9: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/mm/mmu.c: In function ‘alloc_init_pte’:
arch/arm/mm/mmu.c:759:56: error: macro "pte_alloc" passed 4 arguments, but takes just 3
   pte_t *pte = pte_alloc(pmd, addr, type->prot_l1, alloc);
                                                         ^
arch/arm/mm/mmu.c:759:15: error: ‘pte_alloc’ undeclared (first use in this function)
   pte_t *pte = pte_alloc(pmd, addr, type->prot_l1, alloc);
                ^
arch/arm/mm/mmu.c: In function ‘early_pte_alloc’:
arch/arm/mm/mmu.c:751:1: warning: control reaches end of non-void function [-Wreturn-type]
  }
  ^


It looks like this is caused by ebc495cfcea9 (mm: cleanup *pte_alloc* interfaces)
which added

#define pte_alloc(mm, pmd, address)                     \
         (unlikely(pmd_none(*(pmd))) && __pte_alloc(mm, pmd, address))


and conflicts with arch/arm/mm/mmu.c which is using pte_alloc as a function name.

Is this a known issue? If not, Russell would you take a patch to rename the pte_alloc
functions in arm?

Thanks,
Laura



More information about the linux-arm-kernel mailing list