{"id":"CVE-2025-68222","state":"PUBLISHED","title":"pinctrl: s32cc: fix uninitialized memory in s32_pinctrl_desc","description":"In the Linux kernel, the following vulnerability has been resolved:\n\npinctrl: s32cc: fix uninitialized memory in s32_pinctrl_desc\n\ns32_pinctrl_desc is allocated with devm_kmalloc(), but not all of its\nfields are initialized. Notably, num_custom_params is used in\npinconf_generic_parse_dt_config(), resulting in intermittent allocation\nerrors, such as the following splat when probing i2c-imx:\n\n        WARNING: CPU: 0 PID: 176 at mm/page_alloc.c:4795 __alloc_pages_noprof+0x290/0x300\n        [...]\n        Hardware name: NXP S32G3 Reference Design Board 3 (S32G-VNP-RDB3) (DT)\n        [...]\n        Call trace:\n         __alloc_pages_noprof+0x290/0x300 (P)\n         ___kmalloc_large_node+0x84/0x168\n         __kmalloc_large_node_noprof+0x34/0x120\n         __kmalloc_noprof+0x2ac/0x378\n         pinconf_generic_parse_dt_config+0x68/0x1a0\n         s32_dt_node_to_map+0x104/0x248\n         dt_to_map_one_config+0x154/0x1d8\n         pinctrl_dt_to_map+0x12c/0x280\n         create_pinctrl+0x6c/0x270\n         pinctrl_get+0xc0/0x170\n         devm_pinctrl_get+0x50/0xa0\n         pinctrl_bind_pins+0x60/0x2a0\n         really_probe+0x60/0x3a0\n        [...]\n         __platform_driver_register+0x2c/0x40\n         i2c_adap_imx_init+0x28/0xff8 [i2c_imx]\n        [...]\n\nThis results in later parse failures that can cause issues in dependent\ndrivers:\n\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c0-pins/i2c0-grp0: could not parse node property\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c0-pins/i2c0-grp0: could not parse node property\n        [...]\n        pca953x 0-0022: failed writing register: -6\n        i2c i2c-0: IMX I2C adapter registered\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c2-pins/i2c2-grp0: could not parse node property\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c2-pins/i2c2-grp0: could not parse node property\n        i2c i2c-1: IMX I2C adapter registered\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c4-pins/i2c4-grp0: could not parse node property\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c4-pins/i2c4-grp0: could not parse node property\n        i2c i2c-2: IMX I2C adapter registered\n\nFix this by initializing s32_pinctrl_desc with devm_kzalloc() instead of\ndevm_kmalloc() in s32_pinctrl_probe(), which sets the previously\nuninitialized fields to zero.","publishedAt":"2025-12-16T13:57:15.832Z","updatedAt":"2026-05-11T21:49:05.252Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"fd84aaa8173d3ff86f8df2009921336a1ea53a8a","status":"affected","lessThan":"3b90bd8aaeb21b513ecc4ed03299e80ece44a333","versionType":"git"},{"version":"fd84aaa8173d3ff86f8df2009921336a1ea53a8a","status":"affected","lessThan":"583ac7f65791ceda38ea1a493a4859f7161dcb03","versionType":"git"},{"version":"fd84aaa8173d3ff86f8df2009921336a1ea53a8a","status":"affected","lessThan":"7bbdd6c30e8fd92f7165b7730b038cfe42102004","versionType":"git"},{"version":"fd84aaa8173d3ff86f8df2009921336a1ea53a8a","status":"affected","lessThan":"97ea34defbb57bfaf71ce487b1b0865ffd186e81","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pinctrl/nxp/pinctrl-s32cc.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.4","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.4","versionType":"semver"},{"version":"6.6.118","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.60","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.17.10","status":"unaffected","lessThanOrEqual":"6.17.*","versionType":"semver"},{"version":"6.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pinctrl/nxp/pinctrl-s32cc.c"]}],"references":["https://git.kernel.org/stable/c/3b90bd8aaeb21b513ecc4ed03299e80ece44a333","https://git.kernel.org/stable/c/583ac7f65791ceda38ea1a493a4859f7161dcb03","https://git.kernel.org/stable/c/7bbdd6c30e8fd92f7165b7730b038cfe42102004","https://git.kernel.org/stable/c/97ea34defbb57bfaf71ce487b1b0865ffd186e81"],"weaknesses":[],"ingestedAt":"2026-10-29T20:09:56.034Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/68xxx/CVE-2025-68222.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-68222","state":"PUBLISHED","datePublished":"2025-12-16T13:57:15.832Z","dateUpdated":"2026-05-11T21:49:05.252Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-12-16T13:41:40.257Z"},"containers":{"cna":{"title":"pinctrl: s32cc: fix uninitialized memory in s32_pinctrl_desc","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\npinctrl: s32cc: fix uninitialized memory in s32_pinctrl_desc\n\ns32_pinctrl_desc is allocated with devm_kmalloc(), but not all of its\nfields are initialized. Notably, num_custom_params is used in\npinconf_generic_parse_dt_config(), resulting in intermittent allocation\nerrors, such as the following splat when probing i2c-imx:\n\n        WARNING: CPU: 0 PID: 176 at mm/page_alloc.c:4795 __alloc_pages_noprof+0x290/0x300\n        [...]\n        Hardware name: NXP S32G3 Reference Design Board 3 (S32G-VNP-RDB3) (DT)\n        [...]\n        Call trace:\n         __alloc_pages_noprof+0x290/0x300 (P)\n         ___kmalloc_large_node+0x84/0x168\n         __kmalloc_large_node_noprof+0x34/0x120\n         __kmalloc_noprof+0x2ac/0x378\n         pinconf_generic_parse_dt_config+0x68/0x1a0\n         s32_dt_node_to_map+0x104/0x248\n         dt_to_map_one_config+0x154/0x1d8\n         pinctrl_dt_to_map+0x12c/0x280\n         create_pinctrl+0x6c/0x270\n         pinctrl_get+0xc0/0x170\n         devm_pinctrl_get+0x50/0xa0\n         pinctrl_bind_pins+0x60/0x2a0\n         really_probe+0x60/0x3a0\n        [...]\n         __platform_driver_register+0x2c/0x40\n         i2c_adap_imx_init+0x28/0xff8 [i2c_imx]\n        [...]\n\nThis results in later parse failures that can cause issues in dependent\ndrivers:\n\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c0-pins/i2c0-grp0: could not parse node property\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c0-pins/i2c0-grp0: could not parse node property\n        [...]\n        pca953x 0-0022: failed writing register: -6\n        i2c i2c-0: IMX I2C adapter registered\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c2-pins/i2c2-grp0: could not parse node property\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c2-pins/i2c2-grp0: could not parse node property\n        i2c i2c-1: IMX I2C adapter registered\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c4-pins/i2c4-grp0: could not parse node property\n        s32g-siul2-pinctrl 4009c240.pinctrl: /soc@0/pinctrl@4009c240/i2c4-pins/i2c4-grp0: could not parse node property\n        i2c i2c-2: IMX I2C adapter registered\n\nFix this by initializing s32_pinctrl_desc with devm_kzalloc() instead of\ndevm_kmalloc() in s32_pinctrl_probe(), which sets the previously\nuninitialized fields to zero."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"fd84aaa8173d3ff86f8df2009921336a1ea53a8a","status":"affected","lessThan":"3b90bd8aaeb21b513ecc4ed03299e80ece44a333","versionType":"git"},{"version":"fd84aaa8173d3ff86f8df2009921336a1ea53a8a","status":"affected","lessThan":"583ac7f65791ceda38ea1a493a4859f7161dcb03","versionType":"git"},{"version":"fd84aaa8173d3ff86f8df2009921336a1ea53a8a","status":"affected","lessThan":"7bbdd6c30e8fd92f7165b7730b038cfe42102004","versionType":"git"},{"version":"fd84aaa8173d3ff86f8df2009921336a1ea53a8a","status":"affected","lessThan":"97ea34defbb57bfaf71ce487b1b0865ffd186e81","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pinctrl/nxp/pinctrl-s32cc.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.4","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.4","versionType":"semver"},{"version":"6.6.118","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.60","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.17.10","status":"unaffected","lessThanOrEqual":"6.17.*","versionType":"semver"},{"version":"6.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pinctrl/nxp/pinctrl-s32cc.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/3b90bd8aaeb21b513ecc4ed03299e80ece44a333"},{"url":"https://git.kernel.org/stable/c/583ac7f65791ceda38ea1a493a4859f7161dcb03"},{"url":"https://git.kernel.org/stable/c/7bbdd6c30e8fd92f7165b7730b038cfe42102004"},{"url":"https://git.kernel.org/stable/c/97ea34defbb57bfaf71ce487b1b0865ffd186e81"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T21:49:05.252Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4","versionEndExcluding":"6.6.118"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4","versionEndExcluding":"6.12.60"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4","versionEndExcluding":"6.17.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.4","versionEndExcluding":"6.18"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}