Skip to content
  • Tom Lendacky's avatar
    x86/mm: Use proper encryption attributes with /dev/mem · 8458bf94
    Tom Lendacky authored
    
    
    When accessing memory using /dev/mem (or /dev/kmem) use the proper
    encryption attributes when mapping the memory.
    
    To insure the proper attributes are applied when reading or writing
    /dev/mem, update the xlate_dev_mem_ptr() function to use memremap()
    which will essentially perform the same steps of applying __va for
    RAM or using ioremap() if not RAM.
    
    To insure the proper attributes are applied when mmapping /dev/mem,
    update the phys_mem_access_prot() to call phys_mem_access_encrypted(),
    a new function which will check if the memory should be mapped encrypted
    or not. If it is not to be mapped encrypted then the VMA protection
    value is updated to remove the encryption bit.
    
    Signed-off-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
    Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Reviewed-by: default avatarBorislav Petkov <bp@suse.de>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brijesh Singh <brijesh.singh@amd.com>
    Cc: Dave Young <dyoung@redhat.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Cc: Larry Woodman <lwoodman@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Matt Fleming <matt@codeblueprint.co.uk>
    Cc: Michael S. Tsirkin <mst@redhat.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Radim Krčmář <rkrcmar@redhat.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Toshimitsu Kani <toshi.kani@hpe.com>
    Cc: kasan-dev@googlegroups.com
    Cc: kvm@vger.kernel.org
    Cc: linux-arch@vger.kernel.org
    Cc: linux-doc@vger.kernel.org
    Cc: linux-efi@vger.kernel.org
    Cc: linux-mm@kvack.org
    Link: http://lkml.kernel.org/r/c917f403ab9f61cbfd455ad6425ed8429a5e7b54.1500319216.git.thomas.lendacky@amd.com
    
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    8458bf94