In the Linux kernel, the following vulnerability has been resolved:
mmc: davinci: Don't strip remove function when driver is builtin
Using _exit for the remove function results in the remove callback being discarded with CONFIGMMC_DAVINCI=y. When such a device gets unbound (e.g. using sysfs or hotplug), the driver is just removed without the cleanup being performed. This results in resource leaks. Fix it by compiling in the remove callback unconditionally.
This also fixes a W=1 modpost warning:
WARNING: modpost: drivers/mmc/host/davincimmc: section mismatch in reference: davincimmcsddriver+0x10 (section: .data) -> davincimmcsd_remove (section: .exit.text)
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/39xxx/CVE-2024-39484.json"
}[
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"45032652581305584171905485435065372385",
"291378154248579363843589007220603253073",
"88917098026965740991621222928060227083",
"222827519621273796052169549945081236473",
"290712677111850634102266800066036057549",
"167161112762885008786160934509260219077",
"115109944522848186405725518716033190573",
"45192411362654059691599956071616837458"
]
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1d5ed0efe51d36b9ae9b64f133bf41cdbf56f584",
"deprecated": false,
"id": "CVE-2024-39484-34d35f03",
"signature_type": "Line",
"target": {
"file": "drivers/mmc/host/davinci_mmc.c"
},
"signature_version": "v1"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"45032652581305584171905485435065372385",
"291378154248579363843589007220603253073",
"88917098026965740991621222928060227083",
"222827519621273796052169549945081236473",
"290712677111850634102266800066036057549",
"167161112762885008786160934509260219077",
"115109944522848186405725518716033190573",
"45192411362654059691599956071616837458"
]
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aea35157bb9b825faa0432bd0f7fbea37ff39aa1",
"deprecated": false,
"id": "CVE-2024-39484-3a02549c",
"signature_type": "Line",
"target": {
"file": "drivers/mmc/host/davinci_mmc.c"
},
"signature_version": "v1"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"45032652581305584171905485435065372385",
"291378154248579363843589007220603253073",
"88917098026965740991621222928060227083",
"222827519621273796052169549945081236473",
"290712677111850634102266800066036057549",
"167161112762885008786160934509260219077",
"115109944522848186405725518716033190573",
"45192411362654059691599956071616837458"
]
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7590da4c04dd4aa9c262da0231e978263861c6eb",
"deprecated": false,
"id": "CVE-2024-39484-85af2de0",
"signature_type": "Line",
"target": {
"file": "drivers/mmc/host/davinci_mmc.c"
},
"signature_version": "v1"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"268906054353982990897221839269739762870",
"226394922525529906031959622709045692939",
"181985817716180952578578858850155752500",
"142692022820429396563357273430272652112",
"328543297367706871923723186954669775850",
"233474613935932377716304067623384525499",
"251336919740828669051305102799118156368",
"35906992050501039134065780249193710283"
]
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ee241f72edc6dce5051a5f100eab6cc019d873e",
"deprecated": false,
"id": "CVE-2024-39484-9caecacb",
"signature_type": "Line",
"target": {
"file": "drivers/mmc/host/davinci_mmc.c"
},
"signature_version": "v1"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"45032652581305584171905485435065372385",
"291378154248579363843589007220603253073",
"88917098026965740991621222928060227083",
"222827519621273796052169549945081236473",
"290712677111850634102266800066036057549",
"167161112762885008786160934509260219077",
"115109944522848186405725518716033190573",
"45192411362654059691599956071616837458"
]
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@55c421b364482b61c4c45313a535e61ed5ae4ea3",
"deprecated": false,
"id": "CVE-2024-39484-cd004ce2",
"signature_type": "Line",
"target": {
"file": "drivers/mmc/host/davinci_mmc.c"
},
"signature_version": "v1"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"268906054353982990897221839269739762870",
"226394922525529906031959622709045692939",
"181985817716180952578578858850155752500",
"142692022820429396563357273430272652112",
"328543297367706871923723186954669775850",
"233474613935932377716304067623384525499",
"251336919740828669051305102799118156368",
"35906992050501039134065780249193710283"
]
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ff7cfa02baabec907f6f29ea76634e6256d2ec4",
"deprecated": false,
"id": "CVE-2024-39484-d95174f7",
"signature_type": "Line",
"target": {
"file": "drivers/mmc/host/davinci_mmc.c"
},
"signature_version": "v1"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-39484.json"