• Will Deacon's avatar
    ARM: 6386/1: flush_ptrace_access: invalidate correct I-cache alias · c4e259c8
    Will Deacon authored
    copy_to_user_page can be used by access_process_vm to write to an
    executable page of a process using a mapping acquired by kmap.
    For systems with I-cache aliasing, flushing the I-cache using the
    Kernel mapping may leave stale data in the I-cache if the user
    mapping is of a different colour.
    
    This patch introduces a flush_icache_alias function to flush.c,
    which calls flush_icache_range with a mapping of the specified
    colour. flush_ptrace_access is then modified to call this new
    function instead of coherent_kern_range in the case of an aliasing
    I-cache and a non-aliasing D-cache.
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    c4e259c8
flush.c 8.83 KB