media: mediatek: vcodec: Use spinlock for context list protection lock
In the Linux kernel, the following vulnerability has been resolved: media: mediatek: vcodec: Use spinlock for context list protection lock Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler. Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered. Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.12.64, 6.18.4, 6.6.120
- CVEs
- CVE-2025-71140
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 28 Oct 2026, 08:57 UTC · Revision 1
Source evidence
media: mediatek: vcodec: Use spinlock for context list protection lock
core-osv · Original sourcePublished 14 Jan 2026, 15:07 UTC
In the Linux kernel, the following vulnerability has been resolved: media: mediatek: vcodec: Use spinlock for context list protection lock Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler. Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered. Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.
osv:CVE-2025-71140
Kernel
Fixed versions: 6.6.120, 6.12.64, 6.18.4
Complete source record
{
"id": "40e81cb460680c8eb4f290bb4cbf208c53dcf1fdee03c3822b3f3624edace830",
"url": "https://osv.dev/vulnerability/CVE-2025-71140",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "media: mediatek: vcodec: Use spinlock for context list protection lock",
"summary": "In the Linux kernel, the following vulnerability has been resolved: media: mediatek: vcodec: Use spinlock for context list protection lock Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler. Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered. Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
"evidence": "osv:CVE-2025-71140",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.6.120",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.64",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.4",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2025-71140",
"aliases": [
"CVE-2025-71140"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "0a2dc707aa42214f9c4827bd57e344e29a0841d6"
},
{
"fixed": "2c1ea6214827041f548279c9eda341eda0cc8351"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6467cda18c9f9b5f2f9a0aa1e2861c653e41f382"
},
{
"fixed": "b92c19675f632a41af1222027a231bc2b7efa7ed"
},
{
"fixed": "3e858938b0e659f6ec9ddcf853a87f1c5c3f44e1"
},
{
"fixed": "a5844227e0f030d2af2d85d4aed10c5eca6ca176"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.6.27"
},
{
"fixed": "6.6.120"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.8.6"
},
{
"fixed": "6.9"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "23aaf824121055ba81b55f75444355bd83c8eb38"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "41671f0c0182b2bae74ca7e3b0f155559e3e2fc5"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "51c84a8aac6e3b59af2b0e92ba63cabe2e641a2d"
}
]
}
],
"versions": [
"v6.6.119",
"v6.6.118",
"v6.6.117",
"v6.6.116",
"v6.6.115",
"v6.6.114",
"v6.6.113",
"v6.6.112",
"v6.6.111",
"v6.6.110",
"v6.6.109",
"v6.6.108",
"v6.6.107",
"v6.6.106",
"v6.6.105",
"v6.6.104",
"v6.6.103",
"v6.6.102",
"v6.6.101",
"v6.6.100",
"v6.6.99",
"v6.6.98",
"v6.6.97",
"v6.6.96",
"v6.6.95",
"v6.6.94",
"v6.6.93",
"v6.6.92",
"v6.6.91",
"v6.6.90",
"v6.6.89",
"v6.6.88",
"v6.6.87",
"v6.6.86",
"v6.6.85",
"v6.6.84",
"v6.6.83",
"v6.6.82",
"v6.6.81",
"v6.6.80",
"v6.6.79",
"v6.6.78",
"v6.6.77",
"v6.6.76",
"v6.6.75",
"v6.6.74",
"v6.6.73",
"v6.6.72",
"v6.6.71",
"v6.6.70",
"v6.6.69",
"v6.6.68",
"v6.6.67",
"v6.6.66",
"v6.6.65",
"v6.6.64",
"v6.6.63",
"v6.6.62",
"v6.6.61",
"v6.6.60",
"v6.6.59",
"v6.6.58",
"v6.6.57",
"v6.6.56",
"v6.6.55",
"v6.6.54",
"v6.6.53",
"v6.6.52",
"v6.6.51",
"v6.6.50",
"v6.6.49",
"v6.6.48",
"v6.6.47",
"v6.6.46",
"v6.6.45",
"v6.6.44",
"v6.6.43",
"v6.6.42",
"v6.6.41",
"v6.6.40",
"v6.6.39",
"v6.6.38",
"v6.6.37",
"v6.6.36",
"v6.6.35",
"v6.6.34",
"v6.6.33",
"v6.6.32",
"v6.6.31",
"v6.6.30",
"v6.6.29",
"v6.6.28",
"v6.6.27",
"v6.8.12",
"v6.8.11",
"v6.8.10",
"v6.8.9",
"v6.8.8",
"v6.8.7",
"v6.8.6",
"v6.6.158",
"v6.6.157",
"v6.6.156",
"v6.6.155",
"v6.6.154",
"v6.6.153",
"v6.6.152",
"v6.6.151",
"v6.6.150",
"v6.6.149",
"v6.6.148",
"v6.6.147",
"v6.6.146",
"v6.6.145",
"v6.6.144",
"v6.6.143",
"v6.6.142",
"v6.6.141",
"v6.6.140",
"v6.6.139",
"v6.6.138",
"v6.6.137",
"v6.6.136",
"v6.6.135",
"v6.6.134",
"v6.6.133",
"v6.6.132",
"v6.6.131",
"v6.6.130",
"v6.6.129",
"v6.6.128",
"v6.6.127",
"v6.6.126",
"v6.6.125",
"v6.6.124",
"v6.6.123",
"v6.6.122",
"v6.6.121",
"v6.6.120"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-71140.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "6.6.120"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.64"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.9.0"
},
{
"fixed": "6.18.4"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-71140.json"
}
}
],
"modified": "2026-10-08T02:49:10.134694564Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/2c1ea6214827041f548279c9eda341eda0cc8351",
"https://git.kernel.org/stable/c/3e858938b0e659f6ec9ddcf853a87f1c5c3f44e1",
"https://git.kernel.org/stable/c/a5844227e0f030d2af2d85d4aed10c5eca6ca176",
"https://git.kernel.org/stable/c/b92c19675f632a41af1222027a231bc2b7efa7ed",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/71xxx/CVE-2025-71140.json",
"https://nvd.nist.gov/vuln/detail/CVE-2025-71140",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/71xxx/CVE-2025-71140.json"
}
},
"related_cves": [
{
"value": "CVE-2025-71140",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 98295,
"published_at": "2026-01-14T15:07:53.581+00:00"
}