All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
Cc: kvm@vger.kernel.org
Subject: Re: [PATCH v3 13/16] LoongArch: KVM: Add include defining struct cpu_feature
Date: Sun, 28 Jun 2026 22:15:38 +0000	[thread overview]
Message-ID: <20260628221539.4440E1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <dd99dd31bbdb74884b27ea940e76872913b6dc1e.1782682124.git.ukleinek@kernel.org>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:

Pre-existing issues:
- [High] Incomplete error unwinding in LoongArch KVM initialization leads to memory leaks and dangling pointers, risking Use-After-Free crashes.
--

commit 602d2e1391a7bf96f3c1245862be546acdc24faa
Author: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
LoongArch: KVM: Add include defining struct cpu_feature

This commit explicitly includes linux/mod_devicetable.h in
arch/loongarch/kvm/main.c. This ensures that struct cpu_feature remains
available as header dependencies change.

> diff --git a/arch/loongarch/kvm/main.c b/arch/loongarch/kvm/main.c
> index f105a86143f5b..aa0fb4c90d906 100644
> --- a/arch/loongarch/kvm/main.c
> +++ b/arch/loongarch/kvm/main.c
> @@ -5,6 +5,7 @@
>  
>  #include <linux/err.h>
>  #include <linux/module.h>
> +#include <linux/mod_devicetable.h> /* for struct cpu_feature */
>  #include <linux/kvm_host.h>
>  #include <asm/cacheflush.h>
>  #include <asm/cpufeature.h>

[Severity: High]
This isn't a bug introduced by this patch, but I noticed a pre-existing issue
regarding incomplete error unwinding during module initialization in this file.

If kvm_loongarch_env_init() or kvm_init() fails, it appears we return the
error directly without unwinding previous initialization steps:

arch/loongarch/kvm/main.c:kvm_loongarch_env_init() {
    ...
	kvm_register_perf_callbacks();

	/* Register LoongArch IPI interrupt controller interface. */
	ret = kvm_loongarch_register_ipi_device();
	if (ret)
		return ret;
    ...
}

and similarly in kvm_loongarch_init():

arch/loongarch/kvm/main.c:kvm_loongarch_init() {
    ...
	r = kvm_loongarch_env_init();
	if (r)
		return r;

	return kvm_init(sizeof(struct kvm_vcpu), 0, THIS_MODULE);
}

If module loading fails here, does this leave dangling pointers since we
don't call kvm_unregister_perf_callbacks() or free vmcs and
kvm_loongarch_ops?

Could this lead to a use-after-free crash if the perf subsystem retains a
pointer to kvm_guest_cbs after the kvm module memory is freed?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1782682124.git.ukleinek@kernel.org?part=13

  reply	other threads:[~2026-06-28 22:15 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-28 21:58 [PATCH v3 00/16] mod_devicetable.h: Split into per subsystem headers Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 01/16] " Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 02/16] media: ti: vpe: #include <linux/platform_device.h> explicitly Uwe Kleine-König (The Capable Hub)
2026-06-29  5:42   ` Yemike Abhilash Chandra
2026-06-28 21:58 ` [PATCH v3 03/16] driver: core: Include headers for acpi_device_id and of_device_id for struct device_driver Uwe Kleine-König (The Capable Hub)
2026-06-29 13:43   ` Rafael J. Wysocki (Intel)
2026-06-28 21:58 ` [PATCH v3 04/16] driver core: platform: Include header for struct platform_device_id Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 05/16] usb: serial: Include <linux/usb.h> in <linux/usb/serial.h> Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 06/16] platform/x86: msi-ec: Ensure dmi_system_id is defined Uwe Kleine-König (The Capable Hub)
2026-06-29 11:39   ` Ilpo Järvinen
2026-06-28 21:58 ` [PATCH v3 07/16] of: Explicitly include <linux/types.h> and <linux/err.h> Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 08/16] i2c: Let i2c-core.h include <linux/i2c.h> Uwe Kleine-König (The Capable Hub)
2026-06-29  6:31   ` Wolfram Sang
2026-06-29 10:09     ` Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 09/16] platform/x86: x86-android-tablets: Add include defining struct dmi_system_id Uwe Kleine-König (The Capable Hub)
2026-06-29 11:38   ` Ilpo Järvinen
2026-06-29 13:36     ` Uwe Kleine-König (The Capable Hub)
2026-06-30 14:58       ` Ilpo Järvinen
2026-06-30 17:30         ` Uwe Kleine-König (The Capable Hub)
2026-06-30 18:07           ` Ilpo Järvinen
2026-07-01  9:52             ` Uwe Kleine-König (The Capable Hub)
2026-07-01 10:15               ` Ilpo Järvinen
2026-06-28 21:58 ` [PATCH v3 10/16] platform/x86: int3472: " Uwe Kleine-König (The Capable Hub)
2026-06-29 12:18   ` Ilpo Järvinen
2026-06-28 21:58 ` [PATCH v3 11/16] usb: dwc2: Add include defining struct pci_device_id Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 12/16] ALSA: hda/core: Add include defining struct hda_device_id Uwe Kleine-König (The Capable Hub)
2026-07-01 11:52   ` Takashi Iwai
2026-07-01 13:54     ` "Uwe Kleine-König (The Capable Hub)"
2026-06-28 21:58 ` [PATCH v3 13/16] LoongArch: KVM: Add include defining struct cpu_feature Uwe Kleine-König (The Capable Hub)
2026-06-28 22:15   ` sashiko-bot [this message]
2026-06-29 10:01     ` Uwe Kleine-König
2026-06-29  2:20   ` Bibo Mao
2026-06-28 21:58 ` [PATCH v3 14/16] media: em28xx: Add include for struct usb_device_id Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 15/16] Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (headers) Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 16/16] Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) Uwe Kleine-König (The Capable Hub)
2026-06-30 19:37   ` Bjorn Helgaas
2026-06-29 23:58 ` [PATCH v3 00/16] mod_devicetable.h: Split into per subsystem headers Takashi Sakamoto
2026-06-29 23:58   ` Takashi Sakamoto
2026-06-30  6:04   ` Uwe Kleine-König (The Capable Hub)
2026-06-30  6:04     ` Uwe Kleine-König (The Capable Hub)
2026-06-30 13:11     ` Takashi Sakamoto
2026-06-30 13:11       ` Takashi Sakamoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260628221539.4440E1F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.