From: Ingo Molnar pgprot_modify() is available on x86, but on other architectures it only gets defined in mm/mprotect.c - breaking the build if anything outside of mprotect.c tries to make use of this function. Move it to the generic pgprot area in mm.h, so that an upcoming patch can make use of it. Acked-by: Peter Zijlstra Cc: Rik van Riel Cc: Paul Turner Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar --- include/linux/mm.h | 13 +++++++++++++ mm/mprotect.c | 7 ------- 2 files changed, 13 insertions(+), 7 deletions(-) Index: tip/include/linux/mm.h =================================================================== --- tip.orig/include/linux/mm.h +++ tip/include/linux/mm.h @@ -164,6 +164,19 @@ extern pgprot_t protection_map[16]; #define FAULT_FLAG_TRIED 0x40 /* second try */ /* + * Some architectures (such as x86) may need to preserve certain pgprot + * bits, without complicating generic pgprot code. + * + * Most architectures don't care: + */ +#ifndef pgprot_modify +static inline pgprot_t pgprot_modify(pgprot_t oldprot, pgprot_t newprot) +{ + return newprot; +} +#endif + +/* * vm_fault is filled by the the pagefault handler and passed to the vma's * ->fault function. The vma's ->fault is responsible for returning a bitmask * of VM_FAULT_xxx flags that give details about how the fault was handled. Index: tip/mm/mprotect.c =================================================================== --- tip.orig/mm/mprotect.c +++ tip/mm/mprotect.c @@ -28,13 +28,6 @@ #include #include -#ifndef pgprot_modify -static inline pgprot_t pgprot_modify(pgprot_t oldprot, pgprot_t newprot) -{ - return newprot; -} -#endif - static void change_pte_range(struct mm_struct *mm, pmd_t *pmd, unsigned long addr, unsigned long end, pgprot_t newprot, int dirty_accountable) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/