CVE-2021-47228

x86/ioremap: Map EFI-reserved memory as encrypted for SEV

State
Published
Severity
6.2 Medium
Published
May 21, 2024
Updated
May 11, 2026
Reserved
Apr 10, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

x86/ioremap: Map EFI-reserved memory as encrypted for SEV

Some drivers require memory that is marked as EFI boot services data. In order for this memory to not be re-used by the kernel after ExitBootServices(), efi_mem_reserve() is used to preserve it by inserting a new EFI memory descriptor and marking it with the EFI_MEMORY_RUNTIME attribute.

Under SEV, memory marked with the EFI_MEMORY_RUNTIME attribute needs to be mapped encrypted by Linux, otherwise the kernel might crash at boot like below:

EFI Variables Facility v0.08 2004-May-17 general protection fault, probably for non-canonical address 0x3597688770a868b2: 0000 [#1] SMP NOPTI CPU: 13 PID: 1 Comm: swapper/0 Not tainted 5.12.4-2-default #1 openSUSE Tumbleweed Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:efi_mokvar_entry_next [...] Call Trace: efi_mokvar_sysfs_init ? efi_mokvar_table_init do_one_initcall ? __kmalloc kernel_init_freeable ? rest_init kernel_init ret_from_fork

Expand the __ioremap_check_other() function to additionally check for this other type of boot data reserved at runtime and indicate that it should be mapped encrypted for an SEV guest.

[ bp: Massage commit message. ]

Scores

CVSSScoreVectorSource
3.16.2 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 58c909022a5a56cd1d9e89c8c5461fd1f6a27bb5 to before 208bb686e7fa7fff16e8fa78ff0db34aa9acdbd7Affected
  • 58c909022a5a56cd1d9e89c8c5461fd1f6a27bb5 to before b7a05aba39f733ec337c5b952e112dd2dc4fc404Affected
  • 58c909022a5a56cd1d9e89c8c5461fd1f6a27bb5 to before 8d651ee9c71bb12fc0c8eb2786b66cbe5aa3e43bAffected
LinuxLinux
  • 5.10Affected
  • before 5.10Not affected
  • 5.10.46 through 5.10.*Not affected
  • 5.12.13 through 5.12.*Not affected
  • 5.13 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.