• Nick Piggin's avatar
    x86, pat: avoid highmem cache attribute aliasing · 5843d9a4
    Nick Piggin authored
    Highmem code can leave ptes and tlb entries around for a given page even after
    kunmap, and after it has been freed.
    
    >From what I can gather, the PAT code may change the cache attributes of
    arbitrary physical addresses (ie. including highmem pages), which would result
    in aliases in the case that it operates on one of these lazy tlb highmem
    pages.
    
    Flushing kmaps should solve the problem.
    
    I've also just added code for conditional flushing if we haven't got
    any dangling highmem aliases -- this should help performance if we
    change page attributes frequently or systems that aren't using much
    highmem pages (eg. if < 4G RAM). Should be turned into 2 patches, but
    just for RFC...
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    5843d9a4
highmem.c 8.73 KB