From nobody Mon Sep 28 21:04:12 2026 Received: from mail-qv1-f46.google.com (mail-qv1-f46.google.com [209.85.219.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E39D441D136 for ; Mon, 17 Aug 2026 12:39:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786970372; cv=none; b=ERkjil7rqXBUkVE4dUQW/Csns234SD1pAQfaLwcigvfzbtBjVW0BoVi9rMx62EpU6iswUVlkTe6ch5VxdbCSQvGMPu+cs3DzSkuSlACRwPJcGqvA5J+4mNoWagtXNkgts1mwxloc8yyz5Y9bUNj6HoleDOY1BMicEQWSDURpqqU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786970372; c=relaxed/simple; bh=cj6p/BHDbLVfEGwDzLrVQ3P1JMoZztkK5jYHejQUPRE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=eIuwz3q1mFAOQlFDEDY4TtySlRVjVo16qlLpiyHMdo1T1JgzQgznmjnYFgplbsfMkNDBcF/Qt5UhqrER2dYRYXvRL9uLfC1EZd53Izbmc5g9xuTNr6amFuYm31mcyNNXM3YUElj5jbvrCRki0ORyMaN5l3g4DwWdr9LxCDjSxjE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=onVj7U96; arc=none smtp.client-ip=209.85.219.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="onVj7U96" Received: by mail-qv1-f46.google.com with SMTP id 6a1803df08f44-8f0e5e36912so18865546d6.2 for ; Mon, 17 Aug 2026 05:39:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786970370; x=1787575170; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=xA7SAQunaLLiokSRFDeBuiD3UWcIa3/acCMrG/dMDdE=; b=onVj7U969iEYzQktKmY5FGozzmInGg4uvg5EkuUGdheX9hmAgFPtoDq4rkdqfDR/O9 Hts9TR+M7j21youAfOhbxNd+unrmA3bS1Hxe9fjwtsBUGbpzNMLAjf/w06vzrJ8lepgE hTjS9jwDws6TlPiSFaJG5Ns+wg8t6ZEJy/PpZ/nC2VLXoZ4+zGy3rUAC8PobkNp0dT9a rNVOLqZWut8FkiVrjv+iqsRH0H3iRkEu4DAFDIVs2QRvY2UtN6/UAQOI1gCUYNbhScGX UUGdhqZ/s54AnfxrZ4SAOd3jXFLNwpybqw+QS9j9Pd7jWBPn9O9ug2QAC7zoXJPFZvhL 5jyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786970370; x=1787575170; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=xA7SAQunaLLiokSRFDeBuiD3UWcIa3/acCMrG/dMDdE=; b=QJyeNfaHjY6hG5+5Kmz/likM9s1QmJpBYpz/BTm7LkkCh1L84p9UkL/f3nQx2gp8gr YfRbibXXNYROzeSMD1Td8IKzu7nL1Q/iLV9/tRgISiaE3WVvxhkk4bWC+GoP8YoYYGkK rgUX/qxxAoG3ojmIGKqQJHB4htG6aQ/HKaa19jl8Vw1Zg67EAY5Cw7eSCStUR/5GUeaj oQWz6ZGAGvUTAPgCLRNX+TZjbDBCgVUK/gCmWrgAoqQQNqlIIjArBgjddX8vV4OlAiX7 tu+X3wpaTyXoW83Nd8nMtvxAELyT8DDPdCehRRKHKkdCkPe1CC2AjLd7QSBva27f9nXt jwhA== X-Forwarded-Encrypted: i=1; AHgh+RqRd7IcxMAhUSlk0gkM2DFD3qXAbgWWt9cERjidiF7sPcCoSKREF1soRBTkgdpL9ngO/Z+3/hOw/wFDSOM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5E4A53TbQjfzsQkqUm+9Bz70BNd+LoLkFuZGRTSTw8cxR7ZVG nLnVIcVFiRb0sLBFAfdvQToxcuKdWFNJg7oA2fmI3qBzaBak41kes0dQ+GeIrwbc X-Gm-Gg: AR+sD10m05BCRuY+zFYt8nJyv3ap8hFLI2FDtevCsExkjXeKKnRgEZge8BL/wVcOs0Q cdwisAA8aeGEhHeR37Jpkmj0PcGUzAQO7ERrLx0AoCPmpGndBAzWxyvsTFTru3mjl446ncRaLvJ cFYhcjGVR0W2Y9OO0bNWXvZdp+fHTKg7NUo2oNU+b/EEr/7Mig7qmiPQC6g7BFWvgDWiOk2uJXn ikfllD7CbTxllDn/uIhPz1Pts9/qIK8ALphdzbbFEEZgOJLVEs42bC4M18ATCBNSGNUpEV5FJ1o YOXf+qZsacryUHXno4pDas242m0YojcvshqMsIfn2WuV8rgirRRUlDGy1H6GY9mkK8AJFfejYQo IUx3IAzGEDQcYP3d5gT/+yKZYFvWcNdIXW5/dtrjDGPjxF3kqaFtjgrhFGqVvGkadwrpPE9NUEg OYrJEP6ha4XzbogwPVCDZ1PIKg+1jSLReHdCb8r/PkEnfIVLa9qNLxAsOzS4B6NAuhRLQa0JDFQ A== X-Received: by 2002:a05:6214:4808:b0:908:a729:73a4 with SMTP id 6a1803df08f44-90c4b2d8589mr2651306d6.5.1786970369756; Mon, 17 Aug 2026 05:39:29 -0700 (PDT) Received: from amd.ban-spse ([165.204.217.251]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-90c45936c3csm8079496d6.32.2026.08.17.05.39.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Aug 2026 05:39:29 -0700 (PDT) From: Chaithanya Lagisetty To: zhaotianrui@loongson.cn, maobibo@loongson.cn, chenhuacai@kernel.org Cc: kernel@xen0n.name, kvm@vger.kernel.org, loongarch@lists.linux.dev, linux-kernel@vger.kernel.org, nagachaithanya9911@gmail.com Subject: [PATCH] LoongArch: KVM: Free init resources if kvm_init() fails Date: Mon, 17 Aug 2026 12:39:18 +0000 Message-ID: <20260817123918.2738447-1-nagachaithanya9911@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" kvm_loongarch_init() calls kvm_loongarch_env_init() to allocate the per-CPU kvm_context (vmcs) and kvm_loongarch_ops and to register the perf callbacks, and then calls kvm_init(). If kvm_init() fails its result is returned directly, but since module_init() does not run module_exit() on failure, kvm_loongarch_env_exit() is never called and those resources are leaked. Call kvm_loongarch_env_exit() when kvm_init() fails, matching the teardown-on-failure pattern used by riscv_kvm_init(). Fixes: 2bd6ac687261 ("LoongArch: KVM: Implement kvm module related interfac= e") Signed-off-by: Chaithanya Lagisetty Reviewed-by: Bibo Mao --- arch/loongarch/kvm/main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/loongarch/kvm/main.c b/arch/loongarch/kvm/main.c index 3e1005526f4b..b6ddf5827c03 100644 --- a/arch/loongarch/kvm/main.c +++ b/arch/loongarch/kvm/main.c @@ -428,7 +428,11 @@ static int kvm_loongarch_init(void) if (r) return r; =20 - return kvm_init(sizeof(struct kvm_vcpu), 0, THIS_MODULE); + r =3D kvm_init(sizeof(struct kvm_vcpu), 0, THIS_MODULE); + if (r) + kvm_loongarch_env_exit(); + + return r; } =20 static void kvm_loongarch_exit(void) --=20 2.43.0