power: supply: bq27xxx-i2c: Do not free non existing IRQ
In the Linux kernel, the following vulnerability has been resolved: power: supply: bq27xxx-i2c: Do not free non existing IRQ The bq27xxx i2c-client may not have an IRQ, in which case client->irq will be 0. bq27xxx_battery_i2c_probe() already has an if (client->irq) check wrapping the request_threaded_irq(). But bq27xxx_battery_i2c_remove() unconditionally calls free_irq(client->irq) leading to: [ 190.310742] ------------[ cut here ]------------ [ 190.310843] Trying to free already-free IRQ 0 [ 190.310861] WARNING: CPU: 2 PID: 1304 at kernel/irq/manage.c:1893 free_irq+0x1b8/0x310 Followed by a backtrace when unbinding the driver. Add an if (client->irq) to bq27xxx_battery_i2c_remove() mirroring probe() to fix this.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 4.19.309, 5.10.212, 5.15.151, 5.4.271, 6.1.81, 6.6.21, 6.7.9
- CVEs
- CVE-2024-27412
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 07:30 UTC · Revision 1
Source evidence
power: supply: bq27xxx-i2c: Do not free non existing IRQ
core-osv · Original sourcePublished 17 May 2024, 11:50 UTC
In the Linux kernel, the following vulnerability has been resolved: power: supply: bq27xxx-i2c: Do not free non existing IRQ The bq27xxx i2c-client may not have an IRQ, in which case client->irq will be 0. bq27xxx_battery_i2c_probe() already has an if (client->irq) check wrapping the request_threaded_irq(). But bq27xxx_battery_i2c_remove() unconditionally calls free_irq(client->irq) leading to: [ 190.310742] ------------[ cut here ]------------ [ 190.310843] Trying to free already-free IRQ 0 [ 190.310861] WARNING: CPU: 2 PID: 1304 at kernel/irq/manage.c:1893 free_irq+0x1b8/0x310 Followed by a backtrace when unbinding the driver. Add an if (client->irq) to bq27xxx_battery_i2c_remove() mirroring probe() to fix this.
osv:CVE-2024-27412
Kernel
Fixed versions: 4.19.309, 5.4.271, 5.10.212, 5.15.151, 6.1.81, 6.6.21, 6.7.9
Complete source record
{
"id": "157288adccc404729fcc8430958e6b3b7dfc1e501a5dd4d9f6721ec85a702e13",
"url": "https://osv.dev/vulnerability/CVE-2024-27412",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "power: supply: bq27xxx-i2c: Do not free non existing IRQ",
"summary": "In the Linux kernel, the following vulnerability has been resolved: power: supply: bq27xxx-i2c: Do not free non existing IRQ The bq27xxx i2c-client may not have an IRQ, in which case client->irq will be 0. bq27xxx_battery_i2c_probe() already has an if (client->irq) check wrapping the request_threaded_irq(). But bq27xxx_battery_i2c_remove() unconditionally calls free_irq(client->irq) leading to: [ 190.310742] ------------[ cut here ]------------ [ 190.310843] Trying to free already-free IRQ 0 [ 190.310861] WARNING: CPU: 2 PID: 1304 at kernel/irq/manage.c:1893 free_irq+0x1b8/0x310 Followed by a backtrace when unbinding the driver. Add an if (client->irq) to bq27xxx_battery_i2c_remove() mirroring probe() to fix this.",
"evidence": "osv:CVE-2024-27412",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "4.19.309",
"evidence": "/affected/1/ranges"
},
{
"value": "5.4.271",
"evidence": "/affected/1/ranges"
},
{
"value": "5.10.212",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.151",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.81",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.21",
"evidence": "/affected/1/ranges"
},
{
"value": "6.7.9",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "medium",
"structured": {
"id": "CVE-2024-27412",
"aliases": [
"CVE-2024-27412"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "76d2ed844def0cb8704d766924b07b2a918b3e30"
},
{
"fixed": "d4d813c0a14d6bf52d810a55db06a2e7e3d98eaa"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "dafe9136be7b7fc30f1f3ca410c15b7cc65bee44"
},
{
"fixed": "7394abc8926adee6a817bab10797e0adc898af77"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "1da9a4b55a6688e3a30c16d0cf2e7c6a90a684fb"
},
{
"fixed": "d7acc4a569f5f4513120c85ea2b9f04909b7490f"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "e01820a94aea99296e500f54b3f36a2985061045"
},
{
"fixed": "e601ae81910ce6a3797876e190a2d8ef6cf828bc"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "e65fee45687fa2109e03056a696dc7d68a151296"
},
{
"fixed": "cefe18e9ec84f8fe3e198ccebb815cc996eb9797"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "444ff00734f3878cd54ddd1ed5e2e6dbea9326d5"
},
{
"fixed": "fbca8bae1ba79d443a58781b45e92a73a24ac8f8"
},
{
"fixed": "083686474e7c97b0f8b66df37fcb64e432e8b771"
},
{
"fixed": "2df70149e73e79783bcbc7db4fa51ecef0e2022c"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "4.19.284"
},
{
"fixed": "4.19.309"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5.4.244"
},
{
"fixed": "5.4.271"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5.10.181"
},
{
"fixed": "5.10.212"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5.15.114"
},
{
"fixed": "5.15.151"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.1.31"
},
{
"fixed": "6.1.81"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "4.14.316"
},
{
"fixed": "4.15"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "6.3.5"
},
{
"fixed": "6.4"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "ca4a2ddd2e69ca82ca5992d4c49649b2cbac3b74"
}
]
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "28960625adaaf3fa3d83c8d3596661d2576d0a83"
}
]
}
],
"versions": [
"v4.19.308",
"v4.19.307",
"v4.19.306",
"v4.19.305",
"v4.19.304",
"v4.19.303",
"v4.19.302",
"v4.19.301",
"v4.19.300",
"v4.19.299",
"v4.19.298",
"v4.19.297",
"v4.19.296",
"v4.19.295",
"v4.19.294",
"v4.19.293",
"v4.19.292",
"v4.19.291",
"v4.19.290",
"v4.19.289",
"v4.19.288",
"v4.19.287",
"v4.19.286",
"v4.19.285",
"v4.19.284",
"v5.4.270",
"v5.4.269",
"v5.4.268",
"v5.4.267",
"v5.4.266",
"v5.4.265",
"v5.4.264",
"v5.4.263",
"v5.4.262",
"v5.4.261",
"v5.4.260",
"v5.4.259",
"v5.4.258",
"v5.4.257",
"v5.4.256",
"v5.4.255",
"v5.4.254",
"v5.4.253",
"v5.4.252",
"v5.4.251",
"v5.4.250",
"v5.4.249",
"v5.4.248",
"v5.4.247",
"v5.4.246",
"v5.4.245",
"v5.4.244",
"v5.10.211",
"v5.10.210",
"v5.10.209",
"v5.10.208",
"v5.10.207",
"v5.10.206",
"v5.10.205",
"v5.10.204",
"v5.10.203",
"v5.10.202",
"v5.10.201",
"v5.10.200",
"v5.10.199",
"v5.10.198",
"v5.10.197",
"v5.10.196",
"v5.10.195",
"v5.10.194",
"v5.10.193",
"v5.10.192",
"v5.10.191",
"v5.10.190",
"v5.10.189",
"v5.10.188",
"v5.10.187",
"v5.10.186",
"v5.10.185",
"v5.10.184",
"v5.10.183",
"v5.10.182",
"v5.10.181",
"v5.15.150",
"v5.15.149",
"v5.15.148",
"v5.15.147",
"v5.15.146",
"v5.15.145",
"v5.15.144",
"v5.15.143",
"v5.15.142",
"v5.15.141",
"v5.15.140",
"v5.15.139",
"v5.15.138",
"v5.15.137",
"v5.15.136",
"v5.15.135",
"v5.15.134",
"v5.15.133",
"v5.15.132",
"v5.15.131",
"v5.15.130",
"v5.15.129",
"v5.15.128",
"v5.15.127",
"v5.15.126",
"v5.15.125",
"v5.15.124",
"v5.15.123",
"v5.15.122",
"v5.15.121",
"v5.15.120",
"v5.15.119",
"v5.15.118",
"v5.15.117",
"v5.15.116",
"v5.15.115",
"v5.15.114",
"v6.1.80",
"v6.1.79",
"v6.1.78",
"v6.1.77",
"v6.1.76",
"v6.1.75",
"v6.1.74",
"v6.1.73",
"v6.1.72",
"v6.1.71",
"v6.1.70",
"v6.1.69",
"v6.1.68",
"v6.1.67",
"v6.1.66",
"v6.1.65",
"v6.1.64",
"v6.1.63",
"v6.1.62",
"v6.1.61",
"v6.1.60",
"v6.1.59",
"v6.1.58",
"v6.1.57",
"v6.1.56",
"v6.1.55",
"v6.1.54",
"v6.1.53",
"v6.1.52",
"v6.1.51",
"v6.1.50",
"v6.1.49",
"v6.1.48",
"v6.1.47",
"v6.1.46",
"v6.1.45",
"v6.1.44",
"v6.1.43",
"v6.1.42",
"v6.1.41",
"v6.1.40",
"v6.1.39",
"v6.1.38",
"v6.1.37",
"v6.1.36",
"v6.1.35",
"v6.1.34",
"v6.1.33",
"v6.1.32",
"v6.1.31",
"v4.14.336",
"v4.14.335",
"v4.14.334",
"v4.14.333",
"v4.14.332",
"v4.14.331",
"v4.14.330",
"v4.14.329",
"v4.14.328",
"v4.14.327",
"v4.14.326",
"v4.14.325",
"v4.14.324",
"v4.14.323",
"v4.14.322",
"v4.14.321",
"v4.14.320",
"v4.14.319",
"v4.14.318",
"v4.14.317",
"v4.14.316",
"v6.3.13",
"v6.3.12",
"v6.3.11",
"v6.3.10",
"v6.3.9",
"v6.3.8",
"v6.3.7",
"v6.3.6",
"v6.3.5"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-27412.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "4.19.309"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.20.0"
},
{
"fixed": "5.4.271"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.5.0"
},
{
"fixed": "5.10.212"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.151"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.81"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.21"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.4.0"
},
{
"fixed": "6.7.9"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-27412.json"
}
}
],
"modified": "2026-10-28T02:30:50.526463527Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/083686474e7c97b0f8b66df37fcb64e432e8b771",
"https://git.kernel.org/stable/c/2df70149e73e79783bcbc7db4fa51ecef0e2022c",
"https://git.kernel.org/stable/c/7394abc8926adee6a817bab10797e0adc898af77",
"https://git.kernel.org/stable/c/cefe18e9ec84f8fe3e198ccebb815cc996eb9797",
"https://git.kernel.org/stable/c/d4d813c0a14d6bf52d810a55db06a2e7e3d98eaa",
"https://git.kernel.org/stable/c/d7acc4a569f5f4513120c85ea2b9f04909b7490f",
"https://git.kernel.org/stable/c/e601ae81910ce6a3797876e190a2d8ef6cf828bc",
"https://git.kernel.org/stable/c/fbca8bae1ba79d443a58781b45e92a73a24ac8f8",
"https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html",
"https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/27xxx/CVE-2024-27412.json",
"https://nvd.nist.gov/vuln/detail/CVE-2024-27412",
"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/27xxx/CVE-2024-27412.json"
}
},
"related_cves": [
{
"value": "CVE-2024-27412",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 518652,
"published_at": "2024-05-17T11:50:50.323+00:00"
}