{"schema":"threatline.record/2","record":{"id":"CVE-2026-93218","aliases":[],"summary":"mm/huge_memory: skip device-private PMDs in madvise_free_huge_pmd","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/huge_memory: skip device-private PMDs in madvise_free_huge_pmd\n\nmadvise_free_pte_range() checks pmd_trans_huge(*pmd) unlocked, then\nmadvise_free_huge_pmd() takes pmd_trans_huge_lock().  pmd_is_huge()\nreturns true for a device-private PMD, so orig_pmd can be device-private\nand enter the !pmd_present() branch.\n\nSkip device-private PMDs in that non-present branch and continue to out\nbefore calling pmd_folio().  Downgrade the check to VM_WARN_ON_ONCE() so\nan unexpected PMD softleaf logs a warning rather than panicking.  Drop the\nthp_migration_supported() guard: it expands to\nIS_ENABLED(CONFIG_ARCH_SUPPORTS_PMD_SOFTLEAF), and both\npmd_is_migration_entry() and pmd_is_device_private_entry() already return\nfalse when that config is not selected, so the guard suppresses only the\ncase where the warning would already be silent.\n\nPotential trigger: an HMM-based GPU driver races with madvise(MADV_FREE):\nmigrate_vma_pages() flips the PMD to a device-private entry between the\ncaller's pmd_trans_huge() check and the callee's pmd_trans_huge_lock().","categories":["Operating systems"],"product":"Linux","vendor":"Linux","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-93218","source_modified_at":"2026-10-19T09:07:29.994Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"Linux","vendor":"Linux","versions":[{"version":"368076f52ebeecd33e10a9f80905d7508b6b6149","lessThan":"5e3026bf736498115884d6c7bd0308ba29e0474c","status":"affected","versionType":"git"},{"version":"368076f52ebeecd33e10a9f80905d7508b6b6149","lessThan":"ce579dcf730ce5ed8043a5eeea18a3e6706a97e5","status":"affected","versionType":"git"}],"defaultStatus":"unaffected"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-93218","source_modified_at":"2026-10-19T09:07:29.994Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"Linux","vendor":"Linux","versions":[{"version":"6.19","status":"affected"},{"version":"0","lessThan":"6.19","status":"unaffected","versionType":"semver"},{"version":"7.2.4","lessThanOrEqual":"7.2.*","status":"unaffected","versionType":"semver"},{"version":"7.3","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}],"defaultStatus":"affected"}],"fixed_versions":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-93218","source_modified_at":"2026-10-19T09:07:29.994Z","fetched_at":"2026-10-23T18:45:31.882637Z","package":{"name":"Linux","ecosystem":null},"version":"5e3026bf736498115884d6c7bd0308ba29e0474c","basis":"first unaffected version stated in the CVE record"}],"cvss":null,"severity":null,"kev":{"listed":false},"epss":{"probability":0.00155,"percentile":0.04319,"score_date":"2026-10-23"},"published_at":"2026-09-24T15:10:41.370Z","modified_at":"2026-10-19T09:07:29.994Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-93218","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-10-19T09:07:29.994Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-93218","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","EPSS"],"references":[{"source":"CVE List","url":"https://git.kernel.org/stable/c/5e3026bf736498115884d6c7bd0308ba29e0474c"},{"source":"CVE List","url":"https://git.kernel.org/stable/c/ce579dcf730ce5ed8043a5eeea18a3e6706a97e5"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"product","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-19T09:07:29.994Z","content_hash":"0a7c087936a5f062a4cde9a951ae8bda8f07bc7c2e763849a65ce9c414f16777"}}
