{"id":"CVE-2024-47141","revision":"cf55a7c1ae064d05bcf50f8966622f81","records":[{"revision":"cf55a7c1ae064d05bcf50f8966622f81","observedAt":"2026-10-30T13:45:33.454+00:00","statement":{"source":"cve-program","id":"CVE-2024-47141","aliases":[],"title":"pinmux: Use sequential access to access desc->pinmux data","description":"In the Linux kernel, the following vulnerability has been resolved:\n\npinmux: Use sequential access to access desc->pinmux data\n\nWhen two client of the same gpio call pinctrl_select_state() for the\nsame functionality, we are seeing NULL pointer issue while accessing\ndesc->mux_owner.\n\nLet's say two processes A, B executing in pin_request() for the same pin\nand process A updates the desc->mux_usecount but not yet updated the\ndesc->mux_owner while process B see the desc->mux_usecount which got\nupdated by A path and further executes strcmp and while accessing\ndesc->mux_owner it crashes with NULL pointer.\n\nSerialize the access to mux related setting with a mutex lock.\n\n\tcpu0 (process A)\t\t\tcpu1(process B)\n\npinctrl_select_state() {\t\t  pinctrl_select_state() {\n  pin_request() {\t\t\t\tpin_request() {\n  ...\n\t\t\t\t\t\t ....\n    } else {\n         desc->mux_usecount++;\n    \t\t\t\t\t\tdesc->mux_usecount && strcmp(desc->mux_owner, owner)) {\n\n         if (desc->mux_usecount > 1)\n               return 0;\n         desc->mux_owner = owner;\n\n  }\t\t\t\t\t\t}","state":0,"publishedAt":"2025-01-11T12:25:12.399+00:00","modifiedAt":"2026-10-30T12:19:25.504+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/pinctrl/core.c\",\n                        \"drivers/pinctrl/core.h\",\n                        \"drivers/pinctrl/pinmux.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"42fed7ba44e4e8c1fb27b28ad14490cb1daff3c7\",\n                            \"lessThan\": \"d25e45dcf8e32062f7935e4ba154869043812ab6\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"42fed7ba44e4e8c1fb27b28ad14490cb1daff3c7\",\n                            \"lessThan\": \"2da32aed4a97ca1d70fb8b77926f72f30ce5fb4b\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"42fed7ba44e4e8c1fb27b28ad14490cb1daff3c7\",\n                            \"lessThan\": \"c11e2ec9a780f54982a187ee10ffd1b810715c85\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"42fed7ba44e4e8c1fb27b28ad14490cb1daff3c7\",\n                            \"lessThan\": \"5a3e85c3c397c781393ea5fb2f45b1f60f8a4e6e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/pinctrl/core.c\",\n                        \"drivers/pinctrl/core.h\",\n                        \"drivers/pinctrl/pinmux.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"3.10\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"3.10\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.191\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.66\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.5\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.13\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/d25e45dcf8e32062f7935e4ba154869043812ab6","https://git.kernel.org/stable/c/2da32aed4a97ca1d70fb8b77926f72f30ce5fb4b","https://git.kernel.org/stable/c/c11e2ec9a780f54982a187ee10ffd1b810715c85","https://git.kernel.org/stable/c/5a3e85c3c397c781393ea5fb2f45b1f60f8a4e6e"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2024-47141","license":"CVE Program Terms of Use","key":"cve-program:CVE-2024-47141","identifiers":["CVE-2024-47141"]},"retained":false,"historicalAffected":[]}],"coverage":[]}