• Linus Torvalds's avatar
    xtensa: fix NOMMU build with lock_mm_and_find_vma() conversion · d85a143b
    Linus Torvalds authored
    It turns out that xtensa has a really odd configuration situation: you
    can do a no-MMU config, but still have the page fault code enabled.
    Which doesn't sound all that sensible, but it turns out that xtensa can
    have protection faults even without the MMU, and we have this:
    
        config PFAULT
            bool "Handle protection faults" if EXPERT && !MMU
            default y
            help
              Handle protection faults. MMU configurations must enable it.
              noMMU configurations may disable it if used memory map never
              generates protection faults or faults are always fatal.
    
              If unsure, say Y.
    
    which completely violated my expectations of the page fault handling.
    
    End result: Guenter reports that the xtensa no-MMU builds all fail with
    
      arch/xtensa/mm/fault.c: In function ‘do_page_fault’:
      arch/xtensa/mm/fault.c:133:8: error: implicit declaration of function ‘lock_mm_and_find_vma’
    
    because I never exposed the new lock_mm_and_find_vma() function for the
    no-MMU case.
    
    Doing so is simple enough, and fixes the problem.
    Reported-and-tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Fixes: a050ba1e ("mm/fault: convert remaining simple cases to lock_mm_and_find_vma()")
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d85a143b
nommu.c 44.5 KB