mctp i2c: don't count unused / invalid keys for flow release
In the Linux kernel, the following vulnerability has been resolved: mctp i2c: don't count unused / invalid keys for flow release We're currently hitting the WARN_ON in mctp_i2c_flow_release: if (midev->release_count > midev->i2c_lock_count) { WARN_ONCE(1, "release count overflow"); This may be hit if we expire a flow before sending the first packet it contains - as we will not be pairing the increment of release_count (performed on flow release) with the i2c lock operation (only performed on actual TX). To fix this, only release a flow if we've encountered it previously (ie, dev_flow_state does not indicate NEW), as we will mark the flow as ACTIVE at the same time as accounting for the i2c lock operation. We also need to add an INVALID flow state, to indicate when we've done the release.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.0.10
- CVEs
- CVE-2022-49820
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 8 Nov 2026, 00:42 UTC · Revision 1
Source evidence
mctp i2c: don't count unused / invalid keys for flow release
core-osv · Original sourcePublished 1 May 2025, 14:09 UTC
In the Linux kernel, the following vulnerability has been resolved: mctp i2c: don't count unused / invalid keys for flow release We're currently hitting the WARN_ON in mctp_i2c_flow_release: if (midev->release_count > midev->i2c_lock_count) { WARN_ONCE(1, "release count overflow"); This may be hit if we expire a flow before sending the first packet it contains - as we will not be pairing the increment of release_count (performed on flow release) with the i2c lock operation (only performed on actual TX). To fix this, only release a flow if we've encountered it previously (ie, dev_flow_state does not indicate NEW), as we will mark the flow as ACTIVE at the same time as accounting for the i2c lock operation. We also need to add an INVALID flow state, to indicate when we've done the release.
osv:CVE-2022-49820
Kernel
Fixed versions: 6.0.10
Complete source record
{
"id": "d1b06671cdbacd0b6a7ce3aaebc568800c515d7cbd80a4ce3097308266e7fe8d",
"url": "https://osv.dev/vulnerability/CVE-2022-49820",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "mctp i2c: don't count unused / invalid keys for flow release",
"summary": "In the Linux kernel, the following vulnerability has been resolved: mctp i2c: don't count unused / invalid keys for flow release We're currently hitting the WARN_ON in mctp_i2c_flow_release: if (midev->release_count > midev->i2c_lock_count) { WARN_ONCE(1, \"release count overflow\"); This may be hit if we expire a flow before sending the first packet it contains - as we will not be pairing the increment of release_count (performed on flow release) with the i2c lock operation (only performed on actual TX). To fix this, only release a flow if we've encountered it previously (ie, dev_flow_state does not indicate NEW), as we will mark the flow as ACTIVE at the same time as accounting for the i2c lock operation. We also need to add an INVALID flow state, to indicate when we've done the release.",
"evidence": "osv:CVE-2022-49820",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.0.10",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2022-49820",
"aliases": [
"CVE-2022-49820"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "f5b8abf9fc3dacd7529d363e26fe8230935d65f8"
},
{
"fixed": "a5915a9a3ab4067ef8996a57738d156eabeb3a12"
},
{
"fixed": "9cbd48d5fa14e4c65f8580de16686077f7cea02b"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49820.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.18.0"
},
{
"fixed": "6.0.10"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49820.json"
}
}
],
"modified": "2026-10-28T02:30:52.538016198Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/9cbd48d5fa14e4c65f8580de16686077f7cea02b",
"https://git.kernel.org/stable/c/a5915a9a3ab4067ef8996a57738d156eabeb3a12",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49820.json",
"https://nvd.nist.gov/vuln/detail/CVE-2022-49820",
"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/2022/49xxx/CVE-2022-49820.json"
}
},
"related_cves": [
{
"value": "CVE-2022-49820",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 521051,
"published_at": "2025-05-01T14:09:42.252+00:00"
}