From cbd7c4caa997604e60a4709cc2bcfc9a6618db8e Mon Sep 17 00:00:00 2001 From: Vincent Donnefort Date: Fri, 7 Mar 2025 14:50:48 +0000 Subject: [PATCH] ANDROID: KVM: arm64: Do not pkvm_init_devices() when no registered devices When registered_devices_nr is 0, the donation would fail leading to a wrong -EPERM error. Bug: 357781595 Bug: 384432312 Change-Id: Ib1e057387a60e47b41750fdfee85f5b440b7a81e Signed-off-by: Vincent Donnefort --- arch/arm64/kvm/hyp/nvhe/device/device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm64/kvm/hyp/nvhe/device/device.c b/arch/arm64/kvm/hyp/nvhe/device/device.c index c4d0bb90b6b2..d3da14cbad09 100644 --- a/arch/arm64/kvm/hyp/nvhe/device/device.c +++ b/arch/arm64/kvm/hyp/nvhe/device/device.c @@ -31,6 +31,9 @@ int pkvm_init_devices(void) size_t dev_sz; int ret; + if (!registered_devices_nr) + return 0; + registered_devices = kern_hyp_va(registered_devices); dev_sz = PAGE_ALIGN(size_mul(sizeof(struct pkvm_device), registered_devices_nr));