mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
x86, drm, fbdev: Do not specify encrypted memory for video mappings
Since video memory needs to be accessed decrypted, be sure that the memory encryption mask is not set for the video ranges. Signed-off-by: Tom Lendacky <[email protected]> Reviewed-by: Thomas Gleixner <[email protected]> Reviewed-by: Borislav Petkov <[email protected]> Cc: Alexander Potapenko <[email protected]> Cc: Andrey Ryabinin <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: Brijesh Singh <[email protected]> Cc: Dave Young <[email protected]> Cc: Dmitry Vyukov <[email protected]> Cc: Jonathan Corbet <[email protected]> Cc: Konrad Rzeszutek Wilk <[email protected]> Cc: Larry Woodman <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Matt Fleming <[email protected]> Cc: Michael S. Tsirkin <[email protected]> Cc: Paolo Bonzini <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Radim Krčmář <[email protected]> Cc: Rik van Riel <[email protected]> Cc: Toshimitsu Kani <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Link: http://lkml.kernel.org/r/a19436f30424402e01f63a09b32ab103272acced.1500319216.git.thomas.lendacky@amd.com Signed-off-by: Ingo Molnar <[email protected]>
This commit is contained in:
parent
46d010e04a
commit
95cf9264d5
7 changed files with 42 additions and 3 deletions
|
|
@ -32,6 +32,7 @@
|
|||
#include <linux/device.h>
|
||||
#include <linux/efi.h>
|
||||
#include <linux/fb.h>
|
||||
#include <linux/mem_encrypt.h>
|
||||
|
||||
#include <asm/fb.h>
|
||||
|
||||
|
|
@ -1396,6 +1397,12 @@ fb_mmap(struct file *file, struct vm_area_struct * vma)
|
|||
mutex_lock(&info->mm_lock);
|
||||
if (fb->fb_mmap) {
|
||||
int res;
|
||||
|
||||
/*
|
||||
* The framebuffer needs to be accessed decrypted, be sure
|
||||
* SME protection is removed ahead of the call
|
||||
*/
|
||||
vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot);
|
||||
res = fb->fb_mmap(info, vma);
|
||||
mutex_unlock(&info->mm_lock);
|
||||
return res;
|
||||
|
|
@ -1421,6 +1428,11 @@ fb_mmap(struct file *file, struct vm_area_struct * vma)
|
|||
mutex_unlock(&info->mm_lock);
|
||||
|
||||
vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
|
||||
/*
|
||||
* The framebuffer needs to be accessed decrypted, be sure
|
||||
* SME protection is removed
|
||||
*/
|
||||
vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot);
|
||||
fb_pgprotect(file, vma, start);
|
||||
|
||||
return vm_iomap_memory(vma, start, len);
|
||||
|
|
|
|||
Loading…
Reference in a new issue