{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2025-38284",
  "modified": "2026-10-07T14:35:31Z",
  "upstream": [
    "CVE-2025-38284"
  ],
  "published": "2025-07-10T07:42:34Z",
  "summary": "wifi: rtw89: pci: configure manual DAC mode via PCI config API only",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: rtw89: pci: configure manual DAC mode via PCI config API only\n\nTo support 36-bit DMA, configure chip proprietary bit via PCI config API\nor chip DBI interface. However, the PCI device mmap isn't set yet and\nthe DBI is also inaccessible via mmap, so only if the bit can be accessible\nvia PCI config API, chip can support 36-bit DMA. Otherwise, fallback to\n32-bit DMA.\n\nWith NULL mmap address, kernel throws trace:\n\n  BUG: unable to handle page fault for address: 0000000000001090\n  #PF: supervisor write access in kernel mode\n  #PF: error_code(0x0002) - not-present page\n  PGD 0 P4D 0\n  Oops: Oops: 0002 [#1] PREEMPT SMP PTI\n  CPU: 1 UID: 0 PID: 71 Comm: irq/26-pciehp Tainted: G           OE      6.14.2-061402-generic #202504101348\n  Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE\n  RIP: 0010:rtw89_pci_ops_write16+0x12/0x30 [rtw89_pci]\n  RSP: 0018:ffffb0ffc0acf9d8 EFLAGS: 00010206\n  RAX: ffffffffc158f9c0 RBX: ffff94865e702020 RCX: 0000000000000000\n  RDX: 0000000000000718 RSI: 0000000000001090 RDI: ffff94865e702020\n  RBP: ffffb0ffc0acf9d8 R08: 0000000000000000 R09: 0000000000000000\n  R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000015\n  R13: 0000000000000719 R14: ffffb0ffc0acfa1f R15: ffffffffc1813060\n  FS:  0000000000000000(0000) GS:ffff9486f3480000(0000) knlGS:0000000000000000\n  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n  CR2: 0000000000001090 CR3: 0000000090440001 CR4: 00000000000626f0\n  Call Trace:\n   <TASK>\n   rtw89_pci_read_config_byte+0x6d/0x120 [rtw89_pci]\n   rtw89_pci_cfg_dac+0x5b/0xb0 [rtw89_pci]\n   rtw89_pci_probe+0xa96/0xbd0 [rtw89_pci]\n   ? __pfx___device_attach_driver+0x10/0x10\n   ? __pfx___device_attach_driver+0x10/0x10\n   local_pci_probe+0x47/0xa0\n   pci_call_probe+0x5d/0x190\n   pci_device_probe+0xa7/0x160\n   really_probe+0xf9/0x370\n   ? pm_runtime_barrier+0x55/0xa0\n   __driver_probe_device+0x8c/0x140\n   driver_probe_device+0x24/0xd0\n   __device_attach_driver+0xcd/0x170\n   bus_for_each_drv+0x99/0x100\n   __device_attach+0xb4/0x1d0\n   device_attach+0x10/0x20\n   pci_bus_add_device+0x59/0x90\n   pci_bus_add_devices+0x31/0x80\n   pciehp_configure_device+0xaa/0x170\n   pciehp_enable_slot+0xd6/0x240\n   pciehp_handle_presence_or_link_change+0xf1/0x180\n   pciehp_ist+0x162/0x1c0\n   irq_thread_fn+0x24/0x70\n   irq_thread+0xef/0x1c0\n   ? __pfx_irq_thread_fn+0x10/0x10\n   ? __pfx_irq_thread_dtor+0x10/0x10\n   ? __pfx_irq_thread+0x10/0x10\n   kthread+0xfc/0x230\n   ? __pfx_kthread+0x10/0x10\n   ret_from_fork+0x47/0x70\n   ? __pfx_kthread+0x10/0x10\n   ret_from_fork_asm+0x1a/0x30\n   </TASK>",
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.12.34-1+rpt1~bookworm",
        "1:6.12.47-1+rpt1~bookworm",
        "1:6.12.62-1+rpt1~bookworm",
        "1:6.12.75-1+rpt1~bookworm",
        "1:6.12.87-1+rpt1~bookworm",
        "1:6.12.93-1+rpt1",
        "1:6.12.96-1+rpt1",
        "1:6.12.109-1+rpt1"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.12.34+rpt-rpi-2712",
            "binary_version": "1:6.12.34-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.34+rpt-rpi-v7l",
            "binary_version": "1:6.12.34-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.34+rpt-rpi-v8",
            "binary_version": "1:6.12.34-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.34+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.34-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.47+rpt-rpi-2712",
            "binary_version": "1:6.12.47-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.47+rpt-rpi-v7l",
            "binary_version": "1:6.12.47-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.47+rpt-rpi-v8",
            "binary_version": "1:6.12.47-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.47+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.47-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-2712",
            "binary_version": "1:6.12.62-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v7l",
            "binary_version": "1:6.12.62-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v8",
            "binary_version": "1:6.12.62-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.62-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.75+rpt-rpi-2712",
            "binary_version": "1:6.12.75-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.75+rpt-rpi-v7l",
            "binary_version": "1:6.12.75-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.75+rpt-rpi-v8",
            "binary_version": "1:6.12.75-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.75+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.75-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.87+rpt-rpi-2712",
            "binary_version": "1:6.12.87-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.87+rpt-rpi-v7l",
            "binary_version": "1:6.12.87-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.87+rpt-rpi-v8",
            "binary_version": "1:6.12.87-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.87+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.87-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.93+rpt-rpi-2712",
            "binary_version": "1:6.12.93-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.93+rpt-rpi-v7l",
            "binary_version": "1:6.12.93-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.93+rpt-rpi-v8",
            "binary_version": "1:6.12.93-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.93+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.93-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.96+rpt-rpi-2712",
            "binary_version": "1:6.12.96-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.96+rpt-rpi-v7l",
            "binary_version": "1:6.12.96-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.96+rpt-rpi-v8",
            "binary_version": "1:6.12.96-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.96+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.96-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.109+rpt-rpi-2712",
            "binary_version": "1:6.12.109-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.109+rpt-rpi-v7l",
            "binary_version": "1:6.12.109-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.109+rpt-rpi-v8",
            "binary_version": "1:6.12.109-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.109+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.109-1+rpt1"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.12.34-1+rpt1~bookworm": {
            "linux_commit": "8f77e03530f65209a377d25023e912b288e039cd",
            "upstream_version": "6.12.34",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          },
          "1:6.12.47-1+rpt1~bookworm": {
            "linux_commit": "359f37f0faefb712add32a39f98751aea67d5c1f",
            "upstream_version": "6.12.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          },
          "1:6.12.62-1+rpt1~bookworm": {
            "linux_commit": "a1073743767f9e7fdc7017ababd2a07ea0c97c1c",
            "upstream_version": "6.12.62",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          },
          "1:6.12.75-1+rpt1~bookworm": {
            "linux_commit": "89050b1059997d38d55462b323b099a6436dc10d",
            "upstream_version": "6.12.75",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          },
          "1:6.12.87-1+rpt1~bookworm": {
            "linux_commit": "ae4d75fb36deba0fe1a986d9bfae65755e082dd0",
            "upstream_version": "6.12.87",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          },
          "1:6.12.93-1+rpt1": {
            "linux_commit": "d8ab4e908235da7727f22dd36ad5af224671677d",
            "upstream_version": "6.12.93",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          },
          "1:6.12.96-1+rpt1": {
            "linux_commit": "ae161617d7a4552fa91d03626b8d9f3696d17481",
            "upstream_version": "6.12.96",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          },
          "1:6.12.109-1+rpt1": {
            "linux_commit": "7d1826930811232688a50c99c540fbb137aed081",
            "upstream_version": "6.12.109",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          }
        }
      }
    },
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:13",
        "name": "linux"
      },
      "versions": [
        "1:6.12.34-1+rpt1",
        "1:6.12.47-1+rpt1",
        "1:6.12.62-1+rpt1",
        "1:6.12.75-1+rpt1"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.12.34+rpt-rpi-2712",
            "binary_version": "1:6.12.34-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.34+rpt-rpi-v8",
            "binary_version": "1:6.12.34-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.34+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.34-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.47+rpt-rpi-2712",
            "binary_version": "1:6.12.47-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.47+rpt-rpi-v8",
            "binary_version": "1:6.12.47-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.47+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.47-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-2712",
            "binary_version": "1:6.12.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v8",
            "binary_version": "1:6.12.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.62+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.75+rpt-rpi-2712",
            "binary_version": "1:6.12.75-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.75+rpt-rpi-v8",
            "binary_version": "1:6.12.75-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.12.75+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.75-1+rpt1"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.12.34-1+rpt1": {
            "linux_commit": "8f77e03530f65209a377d25023e912b288e039cd",
            "upstream_version": "6.12.34",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          },
          "1:6.12.47-1+rpt1": {
            "linux_commit": "359f37f0faefb712add32a39f98751aea67d5c1f",
            "upstream_version": "6.12.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          },
          "1:6.12.62-1+rpt1": {
            "linux_commit": "a1073743767f9e7fdc7017ababd2a07ea0c97c1c",
            "upstream_version": "6.12.62",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          },
          "1:6.12.75-1+rpt1": {
            "linux_commit": "89050b1059997d38d55462b323b099a6436dc10d",
            "upstream_version": "6.12.75",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": null
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2025-38284"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/e1e0f046041474004dc6ebce5ce1d3e86556291d"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a70cf04b08f44f41bce14659aa7012674b15d9de"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-05-12T04:54:46Z"
  }
}
