In the Linux kernel, the following vulnerability has been resolved:
usb: dwc3-am62: fix module unload/reload behavior
As runtime PM is enabled, the module can be runtime suspended when .remove() is called.
Do a pmruntimeget_sync() to make sure module is active before doing any register operations.
Doing a pmruntimeput_sync() should disable the refclk so no need to disable it again.
Fixes the below warning at module removel.
[ 39.705310] ------------[ cut here ]------------ [ 39.710004] clk:162:3 already disabled [ 39.713941] WARNING: CPU: 0 PID: 921 at drivers/clk/clk.c:1090 clkcoredisable+0xb0/0xb8
We called ofplatformpopulate() in .probe() so call the cleanup function ofplatformdepopulate() in .remove(). Get rid of the now unnnecessary dwc3tiremove_core(). Without this, module re-load doesn't work properly.
[
{
"digest": {
"function_hash": "295032621825055310368810632237025144752",
"length": 379.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-042ecf58",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c",
"function": "dwc3_ti_remove"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6661befe41009c210efa2c1bcd16a5cc4cff8a06",
"signature_type": "Function"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"281699911790903656443426169450252447749",
"297801736277457814640545075999586912823",
"293722249371862205593320744844310351387",
"136994478780525119614432115389808114952",
"63268196161435374760318963133800391415",
"223760233122220457547644907869501557245",
"233185922996468891899799067706621922441",
"329219503163054422431592426249446837161",
"119459639039625706822925518755306000830",
"84853896241844970058663668959591937468",
"304401292100027616676075828743962515346",
"301399445763166246978409708154312152108",
"166694003447110972569294342114082404226",
"191155793472488253003108199975421473883",
"169787129806323169856858774080235638294",
"288546996250064744126427704349400008388",
"337940272374817446797586037305894014624",
"222015548413272272898140005931418133311",
"96473096934559720811796160418312756335"
]
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-04c92ae5",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6c6a45645a2e6a272dfde14eddbb6706de63c25d",
"signature_type": "Line"
},
{
"digest": {
"function_hash": "335854005999725728336129925537084146499",
"length": 124.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-1a190726",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c",
"function": "dwc3_ti_remove_core"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6c6a45645a2e6a272dfde14eddbb6706de63c25d",
"signature_type": "Function"
},
{
"digest": {
"function_hash": "295032621825055310368810632237025144752",
"length": 379.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-1fbc2dfa",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c",
"function": "dwc3_ti_remove"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7dfed9855397d0df4c6f748d1f66547ab3bad766",
"signature_type": "Function"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"281699911790903656443426169450252447749",
"297801736277457814640545075999586912823",
"293722249371862205593320744844310351387",
"136994478780525119614432115389808114952",
"63268196161435374760318963133800391415",
"223760233122220457547644907869501557245",
"867964477926325035500435934685561978",
"34877894236475535504113511326589941036",
"201918268438664058892155987915308076675",
"229816328470306949976576052413980639423",
"304401292100027616676075828743962515346",
"301399445763166246978409708154312152108",
"166694003447110972569294342114082404226",
"191155793472488253003108199975421473883",
"169787129806323169856858774080235638294",
"288546996250064744126427704349400008388",
"337940272374817446797586037305894014624",
"222015548413272272898140005931418133311",
"318562111402167004837739438152836146257"
]
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-2f8c7d5f",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6661befe41009c210efa2c1bcd16a5cc4cff8a06",
"signature_type": "Line"
},
{
"digest": {
"function_hash": "4743719046532221648942420261292861916",
"length": 418.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-42a2f2be",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c",
"function": "dwc3_ti_remove"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6c6a45645a2e6a272dfde14eddbb6706de63c25d",
"signature_type": "Function"
},
{
"digest": {
"function_hash": "295032621825055310368810632237025144752",
"length": 379.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-949430f7",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c",
"function": "dwc3_ti_remove"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3895780fabd120d0fbd54354014e85207b25687c",
"signature_type": "Function"
},
{
"digest": {
"function_hash": "335854005999725728336129925537084146499",
"length": 124.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-af4fe5ed",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c",
"function": "dwc3_ti_remove_core"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3895780fabd120d0fbd54354014e85207b25687c",
"signature_type": "Function"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"281699911790903656443426169450252447749",
"297801736277457814640545075999586912823",
"293722249371862205593320744844310351387",
"136994478780525119614432115389808114952",
"63268196161435374760318963133800391415",
"223760233122220457547644907869501557245",
"867964477926325035500435934685561978",
"34877894236475535504113511326589941036",
"201918268438664058892155987915308076675",
"229816328470306949976576052413980639423",
"304401292100027616676075828743962515346",
"301399445763166246978409708154312152108",
"166694003447110972569294342114082404226",
"191155793472488253003108199975421473883",
"169787129806323169856858774080235638294",
"288546996250064744126427704349400008388",
"337940272374817446797586037305894014624",
"222015548413272272898140005931418133311",
"318562111402167004837739438152836146257"
]
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-c3169a59",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@629b534c42d04f0797980f2d1ed105fdb8906975",
"signature_type": "Line"
},
{
"digest": {
"function_hash": "335854005999725728336129925537084146499",
"length": 124.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-c38a1e96",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c",
"function": "dwc3_ti_remove_core"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6661befe41009c210efa2c1bcd16a5cc4cff8a06",
"signature_type": "Function"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"281699911790903656443426169450252447749",
"297801736277457814640545075999586912823",
"293722249371862205593320744844310351387",
"136994478780525119614432115389808114952",
"63268196161435374760318963133800391415",
"223760233122220457547644907869501557245",
"867964477926325035500435934685561978",
"34877894236475535504113511326589941036",
"201918268438664058892155987915308076675",
"229816328470306949976576052413980639423",
"304401292100027616676075828743962515346",
"301399445763166246978409708154312152108",
"166694003447110972569294342114082404226",
"191155793472488253003108199975421473883",
"169787129806323169856858774080235638294",
"288546996250064744126427704349400008388",
"337940272374817446797586037305894014624",
"222015548413272272898140005931418133311",
"318562111402167004837739438152836146257"
]
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-cb4f2db8",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7dfed9855397d0df4c6f748d1f66547ab3bad766",
"signature_type": "Line"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"281699911790903656443426169450252447749",
"297801736277457814640545075999586912823",
"293722249371862205593320744844310351387",
"136994478780525119614432115389808114952",
"63268196161435374760318963133800391415",
"223760233122220457547644907869501557245",
"867964477926325035500435934685561978",
"34877894236475535504113511326589941036",
"201918268438664058892155987915308076675",
"229816328470306949976576052413980639423",
"304401292100027616676075828743962515346",
"301399445763166246978409708154312152108",
"166694003447110972569294342114082404226",
"191155793472488253003108199975421473883",
"169787129806323169856858774080235638294",
"288546996250064744126427704349400008388",
"337940272374817446797586037305894014624",
"222015548413272272898140005931418133311",
"318562111402167004837739438152836146257"
]
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-cd655990",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3895780fabd120d0fbd54354014e85207b25687c",
"signature_type": "Line"
},
{
"digest": {
"function_hash": "295032621825055310368810632237025144752",
"length": 379.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-cf85cae5",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c",
"function": "dwc3_ti_remove"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@629b534c42d04f0797980f2d1ed105fdb8906975",
"signature_type": "Function"
},
{
"digest": {
"function_hash": "335854005999725728336129925537084146499",
"length": 124.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-fbbddbaf",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c",
"function": "dwc3_ti_remove_core"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7dfed9855397d0df4c6f748d1f66547ab3bad766",
"signature_type": "Function"
},
{
"digest": {
"function_hash": "335854005999725728336129925537084146499",
"length": 124.0
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-26963-fcabbe37",
"target": {
"file": "drivers/usb/dwc3/dwc3-am62.c",
"function": "dwc3_ti_remove_core"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@629b534c42d04f0797980f2d1ed105fdb8906975",
"signature_type": "Function"
}
]