<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Mon, 02 Nov 2026 21:28:59 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-98515 — drm/nouveau: fix double-free in nvif_vmm_dtor</title>
      <link>https://db.gcve.eu/vuln/cve-2026-98515</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;drm/nouveau: fix double-free in nvif_vmm_dtor&lt;/p&gt;
&lt;p&gt;On failure, nouveau_cli_init() calls nouveau_cli_fini() to tear
the client down. Then, nouveau_drm_open() also enters into its
cleanup path and calls nouveau_cli_fini() AGAIN. nouveau_cli_fini()
calls nouveau_vmm_fini():&lt;/p&gt;
&lt;p&gt;void
	nouveau_vmm_fini(struct nouveau_vmm *vmm)
	{
		nouveau_svmm_fini(&amp;amp;vmm-&amp;gt;svmm);
		nvif_vmm_dtor(&amp;amp;vmm-&amp;gt;vmm);
		vmm-&amp;gt;cli = NULL;
	}&lt;/p&gt;
&lt;p&gt;Inside nvif_vmm_dtor(), vmm-&amp;gt;page is freed unconditionally:&lt;/p&gt;
&lt;p&gt;void
	nvif_vmm_dtor(struct nvif_vmm *vmm)
	{
		kfree(vmm-&amp;gt;page);
		nvif_object_dtor(&amp;amp;vmm-&amp;gt;object);
	}&lt;/p&gt;
&lt;p&gt;vmm-&amp;gt;page is never cleared after being freed, so the second call of
nvif_vmm_dtor() will cause a double-free.&lt;/p&gt;
&lt;p&gt;Found by fuzzing the nouveau driver with a modified Syzkaller:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: double-free in nvif_vmm_dtor+0x31/0x50 drivers/gpu/drm/nouveau/nvif/vmm.c:194
	Free of addr ffff888010fcdc30 by task syz.0.173/2567&lt;/p&gt;
&lt;p&gt;CPU: 1 UID: 0 PID: 2567 Comm: syz.0.173 Not tainted 7.2.0 #24 PREEMPT(lazy)
	Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
	Call Trace:
	&amp;lt;TASK&amp;gt;
	__dump_stack lib/dump_stack.c:94 [inline]
	dump_stack_lvl+0x95/0xe0 lib/dump_stack.c:120
	print_address_description mm/kasan/report.c:378 [inline]
	print_report+0xcb/0x5a0 mm/kasan/report.c:482
	kasan_report_invalid_free+0xaa/0xd0 mm/kasan/report.c:557
	check_slab_allocation+0xe4/0x110 mm/kasan/common.c:235
	kasan_slab_pre_free include/linux/kasa…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;drm/nouveau: fix double-free in nvif_vmm_dtor&lt;/p&gt;
&lt;p&gt;On failure, nouveau_cli_init() calls nouveau_cli_fini() to tear
the client down. Then, nouveau_drm_open() also enters into its
cleanup path and calls nouveau_cli_fini() AGAIN. nouveau_cli_fini()
calls nouveau_vmm_fini():&lt;/p&gt;
&lt;p&gt;void
	nouveau_vmm_fini(struct nouveau_vmm *vmm)
	{
		nouveau_svmm_fini(&amp;amp;vmm-&amp;gt;svmm);
		nvif_vmm_dtor(&amp;amp;vmm-&amp;gt;vmm);
		vmm-&amp;gt;cli = NULL;
	}&lt;/p&gt;
&lt;p&gt;Inside nvif_vmm_dtor(), vmm-&amp;gt;page is freed unconditionally:&lt;/p&gt;
&lt;p&gt;void
	nvif_vmm_dtor(struct nvif_vmm *vmm)
	{
		kfree(vmm-&amp;gt;page);
		nvif_object_dtor(&amp;amp;vmm-&amp;gt;object);
	}&lt;/p&gt;
&lt;p&gt;vmm-&amp;gt;page is never cleared after being freed, so the second call of
nvif_vmm_dtor() will cause a double-free.&lt;/p&gt;
&lt;p&gt;Found by fuzzing the nouveau driver with a modified Syzkaller:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: double-free in nvif_vmm_dtor+0x31/0x50 drivers/gpu/drm/nouveau/nvif/vmm.c:194
	Free of addr ffff888010fcdc30 by task syz.0.173/2567&lt;/p&gt;
&lt;p&gt;CPU: 1 UID: 0 PID: 2567 Comm: syz.0.173 Not tainted 7.2.0 #24 PREEMPT(lazy)
	Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
	Call Trace:
	&amp;lt;TASK&amp;gt;
	__dump_stack lib/dump_stack.c:94 [inline]
	dump_stack_lvl+0x95/0xe0 lib/dump_stack.c:120
	print_address_description mm/kasan/report.c:378 [inline]
	print_report+0xcb/0x5a0 mm/kasan/report.c:482
	kasan_report_invalid_free+0xaa/0xd0 mm/kasan/report.c:557
	check_slab_allocation+0xe4/0x110 mm/kasan/common.c:235
	kasan_slab_pre_free include/linux/kasa…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-98515</guid>
    </item>
  </channel>
</rss>
