Skip to contentSkip to conversation

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

DISCUSSION Laura Abbott 2 participants 3 messages Mar 8, 2016 Memory management

lore
Share & tools
lore
#0 lore raw

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

maintainer
#1 lore raw
Quoted 4 lines · On Mon, 7 Mar 2016 17:27:46 -0800 Laura Abbott <[email protected]> wrote:

Hi,

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

Quoted 9 lines

...

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))

http://ozlabs.org/~akpm/mmots/broken-out/mm-cleanup-pte_alloc-interfaces-fix.patch
and
http://ozlabs.org/~akpm/mmots/broken-out/mm-cleanup-pte_alloc-interfaces-fix-2.patch
should fix up arm?

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>

#2 lore raw
Quoted 16 lines · Andrew Morton
Quoted 4 lines · On Mon, 7 Mar 2016 17:27:46 -0800 Laura Abbott <[email protected]> wrote:

Hi,

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

Quoted 9 lines

...

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))
Quoted 5 lines

http://ozlabs.org/~akpm/mmots/broken-out/mm-cleanup-pte_alloc-interfaces-fix.patch
and
http://ozlabs.org/~akpm/mmots/broken-out/mm-cleanup-pte_alloc-interfaces-fix-2.patch
should fix up arm?

Ah yes, I missed those. Thanks.