In the Linux kernel, the following vulnerability has been resolved:
soc: qcom: pdr: protect locator_addr with the main mutex
If the service locator server is restarted fast enough, the PDR can rewrite locator_addr fields concurrently. Protect them by placing modification of those fields under the main pdr->lock.
[ { "signature_type": "Function", "id": "CVE-2024-43849-01b9aef6", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@475a77fb3f0e1d527f56c60b79f5879661df5b80", "signature_version": "v1", "target": { "function": "pdr_locator_new_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "306114604161643395664421718489342994249", "length": 605.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-06360c80", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@107924c14e3ddd85119ca43c26a4ee1056fa9b84", "signature_version": "v1", "target": { "function": "pdr_locator_new_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "306114604161643395664421718489342994249", "length": 605.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-0eef95b0", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@107924c14e3ddd85119ca43c26a4ee1056fa9b84", "signature_version": "v1", "target": { "function": "pdr_get_domain_list", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "173359811889578104368789320676397449551", "length": 820.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-1041325d", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8543269567e2fb3d976a8255c5e348aed14f98bc", "signature_version": "v1", "target": { "function": "pdr_get_domain_list", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "173359811889578104368789320676397449551", "length": 820.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-18e8ac64", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8543269567e2fb3d976a8255c5e348aed14f98bc", "signature_version": "v1", "target": { "function": "pdr_locator_del_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "79200662001409047923078865144793123046", "length": 313.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-218e2fd6", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8543269567e2fb3d976a8255c5e348aed14f98bc", "signature_version": "v1", "target": { "function": "pdr_locator_new_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "306114604161643395664421718489342994249", "length": 605.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-43849-22dce5b1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@107924c14e3ddd85119ca43c26a4ee1056fa9b84", "signature_version": "v1", "target": { "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "23810899623000256405302278652194960272", "116735137880536952901082627396194786833", "71222592908307501999354875116049342519", "283413156734149119827547361075570630114", "37720217835754629397052174720614721707", "95971660608730291347891738233001351147", "307123504490452150049861481815989995244", "315966217908919857890448068461789071436", "87480196844466337666395067566850574113", "196410232140303763808342167421065717222", "302504452756853987969344268307938818188", "285418293996091171884352353574537665728", "88716732885433789632829546063698160053", "82109857785213610621088492516842563330", "333315218814182024927696103668923859372", "81159755030998935896094998391048923749", "331956797914657651487204823557341123676", "240424335976513196319661310259231173128", "127593504247564340549991646717006083638", "96805896744236533190005119333092205085", "128112098781135939068982478965854686706", "111566413198788896581007033713667968752" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-4737945d", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eab05737ee22216250fe20d27f5a596da5ea6eb7", "signature_version": "v1", "target": { "function": "pdr_locator_new_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "306114604161643395664421718489342994249", "length": 605.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-4d0a1268", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d0870c4847e77a49c2f91bb2a8e0fa3c1f8dea5c", "signature_version": "v1", "target": { "function": "pdr_get_domain_list", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "173359811889578104368789320676397449551", "length": 820.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-43849-4e229417", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3e815626d73e05152a8142f6e44aecc4133e6e08", "signature_version": "v1", "target": { "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "23810899623000256405302278652194960272", "116735137880536952901082627396194786833", "71222592908307501999354875116049342519", "283413156734149119827547361075570630114", "37720217835754629397052174720614721707", "95971660608730291347891738233001351147", "307123504490452150049861481815989995244", "315966217908919857890448068461789071436", "87480196844466337666395067566850574113", "196410232140303763808342167421065717222", "302504452756853987969344268307938818188", "285418293996091171884352353574537665728", "88716732885433789632829546063698160053", "82109857785213610621088492516842563330", "333315218814182024927696103668923859372", "81159755030998935896094998391048923749", "331956797914657651487204823557341123676", "240424335976513196319661310259231173128", "127593504247564340549991646717006083638", "96805896744236533190005119333092205085", "128112098781135939068982478965854686706", "111566413198788896581007033713667968752" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-8fcf91ad", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3e815626d73e05152a8142f6e44aecc4133e6e08", "signature_version": "v1", "target": { "function": "pdr_locator_new_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "306114604161643395664421718489342994249", "length": 605.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-9d3aa7af", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@475a77fb3f0e1d527f56c60b79f5879661df5b80", "signature_version": "v1", "target": { "function": "pdr_locator_del_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "79200662001409047923078865144793123046", "length": 313.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-43849-a2851639", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8543269567e2fb3d976a8255c5e348aed14f98bc", "signature_version": "v1", "target": { "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "23810899623000256405302278652194960272", "116735137880536952901082627396194786833", "71222592908307501999354875116049342519", "283413156734149119827547361075570630114", "37720217835754629397052174720614721707", "95971660608730291347891738233001351147", "307123504490452150049861481815989995244", "315966217908919857890448068461789071436", "87480196844466337666395067566850574113", "196410232140303763808342167421065717222", "302504452756853987969344268307938818188", "285418293996091171884352353574537665728", "88716732885433789632829546063698160053", "82109857785213610621088492516842563330", "333315218814182024927696103668923859372", "81159755030998935896094998391048923749", "331956797914657651487204823557341123676", "240424335976513196319661310259231173128", "127593504247564340549991646717006083638", "96805896744236533190005119333092205085", "128112098781135939068982478965854686706", "111566413198788896581007033713667968752" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-a7434582", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d0870c4847e77a49c2f91bb2a8e0fa3c1f8dea5c", "signature_version": "v1", "target": { "function": "pdr_locator_del_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "79200662001409047923078865144793123046", "length": 313.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-ab1bc562", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eab05737ee22216250fe20d27f5a596da5ea6eb7", "signature_version": "v1", "target": { "function": "pdr_get_domain_list", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "173359811889578104368789320676397449551", "length": 820.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-43849-b1776e51", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d0870c4847e77a49c2f91bb2a8e0fa3c1f8dea5c", "signature_version": "v1", "target": { "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "23810899623000256405302278652194960272", "116735137880536952901082627396194786833", "71222592908307501999354875116049342519", "283413156734149119827547361075570630114", "37720217835754629397052174720614721707", "95971660608730291347891738233001351147", "307123504490452150049861481815989995244", "315966217908919857890448068461789071436", "87480196844466337666395067566850574113", "196410232140303763808342167421065717222", "302504452756853987969344268307938818188", "285418293996091171884352353574537665728", "88716732885433789632829546063698160053", "82109857785213610621088492516842563330", "333315218814182024927696103668923859372", "81159755030998935896094998391048923749", "331956797914657651487204823557341123676", "240424335976513196319661310259231173128", "127593504247564340549991646717006083638", "96805896744236533190005119333092205085", "128112098781135939068982478965854686706", "111566413198788896581007033713667968752" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-c13a4dbf", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d0870c4847e77a49c2f91bb2a8e0fa3c1f8dea5c", "signature_version": "v1", "target": { "function": "pdr_locator_new_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "306114604161643395664421718489342994249", "length": 605.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-43849-c8cb6441", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eab05737ee22216250fe20d27f5a596da5ea6eb7", "signature_version": "v1", "target": { "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "23810899623000256405302278652194960272", "116735137880536952901082627396194786833", "71222592908307501999354875116049342519", "283413156734149119827547361075570630114", "37720217835754629397052174720614721707", "95971660608730291347891738233001351147", "307123504490452150049861481815989995244", "315966217908919857890448068461789071436", "87480196844466337666395067566850574113", "196410232140303763808342167421065717222", "302504452756853987969344268307938818188", "243923635977499173804848977267501698946", "15797244230712162421776176219041201963", "82109857785213610621088492516842563330", "333315218814182024927696103668923859372", "81159755030998935896094998391048923749", "331956797914657651487204823557341123676", "240424335976513196319661310259231173128", "127593504247564340549991646717006083638", "96805896744236533190005119333092205085", "128112098781135939068982478965854686706", "111566413198788896581007033713667968752" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-d81e2d51", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@475a77fb3f0e1d527f56c60b79f5879661df5b80", "signature_version": "v1", "target": { "function": "pdr_get_domain_list", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "173359811889578104368789320676397449551", "length": 820.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-dad5f337", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3e815626d73e05152a8142f6e44aecc4133e6e08", "signature_version": "v1", "target": { "function": "pdr_get_domain_list", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "173359811889578104368789320676397449551", "length": 820.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-43849-f0986cf4", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@475a77fb3f0e1d527f56c60b79f5879661df5b80", "signature_version": "v1", "target": { "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "23810899623000256405302278652194960272", "116735137880536952901082627396194786833", "71222592908307501999354875116049342519", "283413156734149119827547361075570630114", "37720217835754629397052174720614721707", "95971660608730291347891738233001351147", "307123504490452150049861481815989995244", "315966217908919857890448068461789071436", "87480196844466337666395067566850574113", "196410232140303763808342167421065717222", "302504452756853987969344268307938818188", "285418293996091171884352353574537665728", "88716732885433789632829546063698160053", "82109857785213610621088492516842563330", "333315218814182024927696103668923859372", "81159755030998935896094998391048923749", "331956797914657651487204823557341123676", "240424335976513196319661310259231173128", "127593504247564340549991646717006083638", "96805896744236533190005119333092205085", "128112098781135939068982478965854686706", "111566413198788896581007033713667968752" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-f190b185", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@eab05737ee22216250fe20d27f5a596da5ea6eb7", "signature_version": "v1", "target": { "function": "pdr_locator_del_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "79200662001409047923078865144793123046", "length": 313.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-fd9d2e21", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@107924c14e3ddd85119ca43c26a4ee1056fa9b84", "signature_version": "v1", "target": { "function": "pdr_locator_del_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "79200662001409047923078865144793123046", "length": 313.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-43849-fe9959d2", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3e815626d73e05152a8142f6e44aecc4133e6e08", "signature_version": "v1", "target": { "function": "pdr_locator_del_server", "file": "drivers/soc/qcom/pdr_interface.c" }, "digest": { "function_hash": "79200662001409047923078865144793123046", "length": 313.0 }, "deprecated": false } ]