• Max Filippov's avatar
    xtensa: implement clear_user_highpage and copy_user_highpage · a91902db
    Max Filippov authored
    Existing clear_user_page and copy_user_page cannot be used with highmem
    because they calculate physical page address from its virtual address
    and do it incorrectly in case of high memory page mapped with
    kmap_atomic. Also kmap is not needed, as most likely userspace mapping
    color would be different from the kmapped color.
    
    Provide clear_user_highpage and copy_user_highpage functions that
    determine if temporary mapping is needed for the pages. Move most of the
    logic of the former clear_user_page and copy_user_page to
    xtensa/mm/cache.c only leaving temporary mapping setup, invalidation and
    clearing/copying in the xtensa/mm/misc.S. Rename these functions to
    clear_page_alias and copy_page_alias.
    Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
    a91902db
cache.c 8.09 KB