]> git.ipfire.org Git - thirdparty/linux.git/commit
efi: stmm: Fix incorrect buffer allocation method
authorJan Kiszka <jan.kiszka@siemens.com>
Mon, 25 Aug 2025 16:07:10 +0000 (18:07 +0200)
committerArd Biesheuvel <ardb@kernel.org>
Tue, 26 Aug 2025 12:47:53 +0000 (14:47 +0200)
commitc5e81e672699e0c5557b2b755cc8f7a69aa92bff
treec380524326d1a59c5e82286155473a958c1b9266
parent8f5ae30d69d7543eee0d70083daf4de8fe15d585
efi: stmm: Fix incorrect buffer allocation method

The communication buffer allocated by setup_mm_hdr() is later on passed
to tee_shm_register_kernel_buf(). The latter expects those buffers to be
contiguous pages, but setup_mm_hdr() just uses kmalloc(). That can cause
various corruptions or BUGs, specifically since commit 9aec2fb0fd5e
("slab: allocate frozen pages"), though it was broken before as well.

Fix this by using alloc_pages_exact() instead of kmalloc().

Fixes: c44b6be62e8d ("efi: Add tee-based EFI variable driver")
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
drivers/firmware/efi/stmm/tee_stmm_efi.c