• Peter Zijlstra's avatar
    x86/mm/cpa: Make cpa_data::vaddr invariant · 98bfc9b0
    Peter Zijlstra authored
    Currently __change_page_attr_set_clr() will modify cpa->vaddr when
    !(CPA_ARRAY | CPA_PAGES_ARRAY), whereas in the array cases it will
    increment cpa->curpage.
    
    Change __cpa_addr() such that its @idx argument also works in the
    !array case and use cpa->curpage increments for all cases.
    
    NOTE: since cpa_data::numpages is 'unsigned long' so should cpa_data::curpage be.
    NOTE: after this only cpa->numpages is still modified.
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@surriel.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tom.StDenis@amd.com
    Cc: dave.hansen@intel.com
    Link: http://lkml.kernel.org/r/20181203171043.295174892@infradead.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    98bfc9b0
pageattr.c 57.3 KB