mm/slab: make __free(kfree) accept error pointers
In the Linux kernel, the following vulnerability has been resolved: mm/slab: make __free(kfree) accept error pointers Currently, if an automatically freed allocation is an error pointer that will lead to a crash. An example of this is in wm831x_gpio_dbg_show(). 171 char *label __free(kfree) = gpiochip_dup_line_label(chip, i); 172 if (IS_ERR(label)) { 173 dev_err(wm831x->dev, "Failed to duplicate label\n"); 174 continue; 175 } The auto clean up function should check for error pointers as well, otherwise we're going to keep hitting issues like this.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.1.91, 6.6.31, 6.8.10
- CVEs
- CVE-2024-36890
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 02:13 UTC · Revision 1
Source evidence
mm/slab: make __free(kfree) accept error pointers
core-osv · Original sourcePublished 30 May 2024, 15:28 UTC
In the Linux kernel, the following vulnerability has been resolved: mm/slab: make __free(kfree) accept error pointers Currently, if an automatically freed allocation is an error pointer that will lead to a crash. An example of this is in wm831x_gpio_dbg_show(). 171 char *label __free(kfree) = gpiochip_dup_line_label(chip, i); 172 if (IS_ERR(label)) { 173 dev_err(wm831x->dev, "Failed to duplicate label\n"); 174 continue; 175 } The auto clean up function should check for error pointers as well, otherwise we're going to keep hitting issues like this.
osv:CVE-2024-36890
Kernel
Fixed versions: 6.1.91, 6.6.31, 6.8.10
Complete source record
{
"id": "a37cec71eb8236e2829009d08cca66a2629c0f9a34b2f18be87fbbdbbf111604",
"url": "https://osv.dev/vulnerability/CVE-2024-36890",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "mm/slab: make __free(kfree) accept error pointers",
"summary": "In the Linux kernel, the following vulnerability has been resolved: mm/slab: make __free(kfree) accept error pointers Currently, if an automatically freed allocation is an error pointer that will lead to a crash. An example of this is in wm831x_gpio_dbg_show(). 171 char *label __free(kfree) = gpiochip_dup_line_label(chip, i); 172 if (IS_ERR(label)) { 173 dev_err(wm831x->dev, \"Failed to duplicate label\\n\"); 174 continue; 175 } The auto clean up function should check for error pointers as well, otherwise we're going to keep hitting issues like this.",
"evidence": "osv:CVE-2024-36890",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.1.91",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.31",
"evidence": "/affected/1/ranges"
},
{
"value": "6.8.10",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2024-36890",
"aliases": [
"CVE-2024-36890"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "af53aaf20722d745a69a051114a1ae237f5b922e"
},
{
"fixed": "edca32f87329d6e341d2143a3b58ec254e8f6b88"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "f550466949e822afcd0b546a4fc35795930660bc"
},
{
"fixed": "946771c2a2b1150f9b7286feadc3aa1e15a1eb16"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "3c6cc62ce1265aa5623e2e1b29c0fe258bf6e232"
},
{
"fixed": "9f6eb0ab4f95240589ee85fd9886a944cd3645b2"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "54da6a0924311c7cf5015533991e44fb8eb12773"
},
{
"fixed": "ac6cf3ce9b7d12acb7b528248df5f87caa25fcdc"
},
{
"fixed": "79cbe0be6c0317b215ddd8bd3e32f0afdac48543"
},
{
"fixed": "cd7eb8f83fcf258f71e293f7fc52a70be8ed0128"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.1.79"
},
{
"fixed": "6.1.91"
}
]
}
],
"versions": [
"v6.1.90",
"v6.1.89",
"v6.1.88",
"v6.1.87",
"v6.1.86",
"v6.1.85",
"v6.1.84",
"v6.1.83",
"v6.1.82",
"v6.1.81",
"v6.1.80",
"v6.1.79"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-36890.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "6.1.91"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.31"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.5.0"
},
{
"fixed": "6.8.10"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-36890.json"
}
}
],
"modified": "2026-10-28T02:30:49.173654027Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/79cbe0be6c0317b215ddd8bd3e32f0afdac48543",
"https://git.kernel.org/stable/c/946771c2a2b1150f9b7286feadc3aa1e15a1eb16",
"https://git.kernel.org/stable/c/9f6eb0ab4f95240589ee85fd9886a944cd3645b2",
"https://git.kernel.org/stable/c/ac6cf3ce9b7d12acb7b528248df5f87caa25fcdc",
"https://git.kernel.org/stable/c/cd7eb8f83fcf258f71e293f7fc52a70be8ed0128",
"https://git.kernel.org/stable/c/edca32f87329d6e341d2143a3b58ec254e8f6b88",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/36xxx/CVE-2024-36890.json",
"https://nvd.nist.gov/vuln/detail/CVE-2024-36890",
"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/2024/36xxx/CVE-2024-36890.json"
}
},
"related_cves": [
{
"value": "CVE-2024-36890",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 517274,
"published_at": "2024-05-30T15:28:57.373+00:00"
}