]> git.baikalelectronics.ru Git - kernel.git/commit
mm/memory.c: mark wp_huge_pmd() inline to prevent build failure
authorGeert Uytterhoeven <geert@linux-m68k.org>
Thu, 14 Dec 2017 23:32:52 +0000 (15:32 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 15 Dec 2017 00:00:48 +0000 (16:00 -0800)
commit0eec5778672d3b2da58f6d6f2644a6f28eecfb83
tree844940bb48a7feece30be4412d46b426ade1bd8f
parentf267c75f49d8181888949409c85b8ee3cd96a442
mm/memory.c: mark wp_huge_pmd() inline to prevent build failure

With gcc 4.1.2:

    mm/memory.o: In function `wp_huge_pmd':
    memory.c:(.text+0x9b4): undefined reference to `do_huge_pmd_wp_page'

Interestingly, wp_huge_pmd() is emitted in the assembler output, but
never called.

Apparently replacing the call to pmd_write() in __handle_mm_fault() by a
call to the more complex pmd_access_permitted() reduced the ability of
the compiler to remove unused code.

Fix this by marking wp_huge_pmd() inline, like was done in commit
8167619a18c5 ("mm/memory.c: mark create_huge_pmd() inline to prevent
build failure") for a similar problem.

[akpm@linux-foundation.org: add comment]
Link: http://lkml.kernel.org/r/1512335500-10889-1-git-send-email-geert@linux-m68k.org
Fixes: 93a71c198891c673 ("mm: replace pmd_write with pmd_access_permitted in fault + gup paths")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/memory.c