In the Linux kernel, the following vulnerability has been resolved:
dmaengine: qcom: bam_dma: fix runtime PM underflow
Commit dbad41e7bb5f ("dmaengine: qcom: bamdma: check if the runtime pm enabled") caused unbalanced pmruntimeget/put() calls when the bam is controlled remotely. This commit reverts it and just enables pmruntime in all cases, the clk_* functions already just nop when the clock is NULL.
Also clean up a bit by removing unnecessary bamclk null checks.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49650.json"
}[
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-06dde021",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_pm_runtime_get_sync"
},
"digest": {
"length": 108.0,
"function_hash": "155528703319630912451339457427242805833"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2f6ded79068cac8cff41d5d5632564165d98ee12"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-1609db69",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_dma_probe"
},
"digest": {
"length": 4154.0,
"function_hash": "143241935251842569235561662434859745025"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2f6ded79068cac8cff41d5d5632564165d98ee12"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-341b7c99",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_dma_probe"
},
"digest": {
"length": 4298.0,
"function_hash": "66981414006815509321077365904661263920"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ac9c3dd0d6fe293cd5044cfad10bec27d171e4e"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-56306fc4",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_dma_suspend"
},
"digest": {
"length": 164.0,
"function_hash": "254697918157575612205277246337544803522"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ac9c3dd0d6fe293cd5044cfad10bec27d171e4e"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-74171c9a",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_dma_suspend"
},
"digest": {
"length": 164.0,
"function_hash": "254697918157575612205277246337544803522"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b702a1077b51fcb39507cc3bd39206f539319a96"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-a2964492",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_dma_suspend"
},
"digest": {
"length": 164.0,
"function_hash": "254697918157575612205277246337544803522"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2f6ded79068cac8cff41d5d5632564165d98ee12"
},
{
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2022-49650-b7290ba4",
"target": {
"file": "drivers/dma/qcom/bam_dma.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"257299579696698766613766376901019848857",
"41218649754110842231184604104900603520",
"149530138897208901109104458882726967282",
"63913840547617701189214160668054145872",
"22311820784785695834791444833801977",
"169582131782823897874211605653831831181",
"42229874277019174393061262478168902796",
"313898351836856682555535667884023001898",
"126458448176202131420854886530324778964",
"163213701701457361923642506434392585881",
"320012594346337576477037014976833832337",
"262988728463577752953507016597352220218",
"42966820601034199137721232066554005471",
"58280706960838341766581063734064353502",
"70296853708511412792758621334300306822",
"196498444593834320895981677122663357322",
"288717169348361643839212374833190311094",
"58280706960838341766581063734064353502",
"70296853708511412792758621334300306822",
"196498444593834320895981677122663357322",
"288717169348361643839212374833190311094",
"131078059978100167454738460557832651319",
"12636692555213130670648497278146902913",
"197049962647053350409523045389962051633",
"91919857167851530810196778422043121104",
"150411533986240476378478190051948474430",
"32089451404182920079307424766399423520",
"15191610761868393934772463362422787528",
"260569048015662421503406360140050100967",
"102818198829104165297749365230190635175",
"190218990331299472135604924623624712478",
"322620688046532224778513663860669538588",
"28932669804154671821308481661342085175",
"12128341756785064767207875530433447127",
"203740218120997243632785886308999125519",
"281801634989644354648968382584232528383",
"62304684167797268442894674114082967678",
"305691408177773215152522033426455626389",
"88426089341270670006510689550706157876",
"294987633348851555064861385556940576059",
"220396366325178052539907103469290449065",
"209171936608266055608358045307541498704",
"324886748939469213526876135059514809789",
"308233249910322795862468901569533217639",
"30907648115702445412473221411127364660",
"311052206700642891387119874049461676607",
"260098360593703773921856884758943701263",
"122004108579123123464041597715141927056",
"221171981802105339141000408426214041422",
"183080648807356451816435905881614781979",
"235125132256436335862328025742092809804",
"207934851506502393951374542022772685950"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2f6ded79068cac8cff41d5d5632564165d98ee12"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-c14bf569",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_pm_runtime_get_sync"
},
"digest": {
"length": 108.0,
"function_hash": "155528703319630912451339457427242805833"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ac9c3dd0d6fe293cd5044cfad10bec27d171e4e"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-d8d478fc",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_dma_resume"
},
"digest": {
"length": 206.0,
"function_hash": "180483411140205088778253744241551505029"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2f6ded79068cac8cff41d5d5632564165d98ee12"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-dbc5d03a",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_pm_runtime_get_sync"
},
"digest": {
"length": 108.0,
"function_hash": "155528703319630912451339457427242805833"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b702a1077b51fcb39507cc3bd39206f539319a96"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-dc557809",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_dma_resume"
},
"digest": {
"length": 206.0,
"function_hash": "180483411140205088778253744241551505029"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b702a1077b51fcb39507cc3bd39206f539319a96"
},
{
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2022-49650-edd59f33",
"target": {
"file": "drivers/dma/qcom/bam_dma.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"90517827246234928507929831336095931927",
"41218649754110842231184604104900603520",
"149530138897208901109104458882726967282",
"63913840547617701189214160668054145872",
"22311820784785695834791444833801977",
"169582131782823897874211605653831831181",
"42229874277019174393061262478168902796",
"313898351836856682555535667884023001898",
"126458448176202131420854886530324778964",
"163213701701457361923642506434392585881",
"320012594346337576477037014976833832337",
"262988728463577752953507016597352220218",
"42966820601034199137721232066554005471",
"58280706960838341766581063734064353502",
"70296853708511412792758621334300306822",
"196498444593834320895981677122663357322",
"288717169348361643839212374833190311094",
"58280706960838341766581063734064353502",
"70296853708511412792758621334300306822",
"196498444593834320895981677122663357322",
"288717169348361643839212374833190311094",
"131078059978100167454738460557832651319",
"12636692555213130670648497278146902913",
"197049962647053350409523045389962051633",
"91919857167851530810196778422043121104",
"150411533986240476378478190051948474430",
"32089451404182920079307424766399423520",
"15191610761868393934772463362422787528",
"260569048015662421503406360140050100967",
"102818198829104165297749365230190635175",
"190218990331299472135604924623624712478",
"322620688046532224778513663860669538588",
"28932669804154671821308481661342085175",
"12128341756785064767207875530433447127",
"203740218120997243632785886308999125519",
"281801634989644354648968382584232528383",
"62304684167797268442894674114082967678",
"305691408177773215152522033426455626389",
"88426089341270670006510689550706157876",
"294987633348851555064861385556940576059",
"220396366325178052539907103469290449065",
"209171936608266055608358045307541498704",
"324886748939469213526876135059514809789",
"308233249910322795862468901569533217639",
"30907648115702445412473221411127364660",
"311052206700642891387119874049461676607",
"260098360593703773921856884758943701263",
"122004108579123123464041597715141927056",
"221171981802105339141000408426214041422",
"183080648807356451816435905881614781979",
"235125132256436335862328025742092809804",
"207934851506502393951374542022772685950"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b702a1077b51fcb39507cc3bd39206f539319a96"
},
{
"signature_type": "Line",
"deprecated": false,
"id": "CVE-2022-49650-f81745ea",
"target": {
"file": "drivers/dma/qcom/bam_dma.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"90517827246234928507929831336095931927",
"41218649754110842231184604104900603520",
"149530138897208901109104458882726967282",
"63913840547617701189214160668054145872",
"22311820784785695834791444833801977",
"169582131782823897874211605653831831181",
"42229874277019174393061262478168902796",
"313898351836856682555535667884023001898",
"126458448176202131420854886530324778964",
"163213701701457361923642506434392585881",
"320012594346337576477037014976833832337",
"262988728463577752953507016597352220218",
"42966820601034199137721232066554005471",
"58280706960838341766581063734064353502",
"70296853708511412792758621334300306822",
"196498444593834320895981677122663357322",
"288717169348361643839212374833190311094",
"58280706960838341766581063734064353502",
"70296853708511412792758621334300306822",
"196498444593834320895981677122663357322",
"288717169348361643839212374833190311094",
"131078059978100167454738460557832651319",
"12636692555213130670648497278146902913",
"197049962647053350409523045389962051633",
"91919857167851530810196778422043121104",
"150411533986240476378478190051948474430",
"32089451404182920079307424766399423520",
"15191610761868393934772463362422787528",
"260569048015662421503406360140050100967",
"102818198829104165297749365230190635175",
"190218990331299472135604924623624712478",
"322620688046532224778513663860669538588",
"28932669804154671821308481661342085175",
"12128341756785064767207875530433447127",
"203740218120997243632785886308999125519",
"281801634989644354648968382584232528383",
"62304684167797268442894674114082967678",
"305691408177773215152522033426455626389",
"88426089341270670006510689550706157876",
"294987633348851555064861385556940576059",
"220396366325178052539907103469290449065",
"209171936608266055608358045307541498704",
"324886748939469213526876135059514809789",
"308233249910322795862468901569533217639",
"30907648115702445412473221411127364660",
"311052206700642891387119874049461676607",
"260098360593703773921856884758943701263",
"122004108579123123464041597715141927056",
"221171981802105339141000408426214041422",
"183080648807356451816435905881614781979",
"235125132256436335862328025742092809804",
"207934851506502393951374542022772685950"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ac9c3dd0d6fe293cd5044cfad10bec27d171e4e"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-f98c1cdf",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_dma_probe"
},
"digest": {
"length": 4298.0,
"function_hash": "66981414006815509321077365904661263920"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b702a1077b51fcb39507cc3bd39206f539319a96"
},
{
"signature_type": "Function",
"deprecated": false,
"id": "CVE-2022-49650-fd2830bc",
"target": {
"file": "drivers/dma/qcom/bam_dma.c",
"function": "bam_dma_resume"
},
"digest": {
"length": 206.0,
"function_hash": "180483411140205088778253744241551505029"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0ac9c3dd0d6fe293cd5044cfad10bec27d171e4e"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49650.json"