{"id":"CVE-2026-80648","state":"PUBLISHED","title":"pinctrl: spacemit: fix NULL check in spacemit_pin_set_config","description":"In the Linux kernel, the following vulnerability has been resolved:\n\npinctrl: spacemit: fix NULL check in spacemit_pin_set_config\n\nspacemit_pin_set_config() looks up the per-pin descriptor with\nspacemit_get_pin() then checks the wrong variable for failure:\n\n\tconst struct spacemit_pin *spin = spacemit_get_pin(pctrl, pin);\n\t...\n\tif (!pin)\n\t\treturn -EINVAL;\n\n\treg = spacemit_pin_to_reg(pctrl, spin->pin);\n\npin is an unsigned int pin id, where 0 (GPIO_0 / gmac0_rxdv on K3) is a\nvalid pin, so rejecting it here drops the PAD config write for the first\npin of every group. On K3 Pico-ITX the GMAC RGMII group lists pin 0 as\nits first entry, so its drive-strength / bias configuration was silently\nignored.\n\nThe intended guard is against spacemit_get_pin() returning NULL when the\npin id isn't in the SoC's pin table. Check spin instead, which both\nrestores PAD setup for pin 0 and prevents a NULL deref on spin->pin.","publishedAt":"2026-08-28T06:48:57.479Z","updatedAt":"2026-08-28T06:48:57.479Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"a83c29e1d145cca5240952100acd1cd60f25fb5f","status":"affected","lessThan":"7a551951ebeb5b3f05bdb04a73d4593869c984c4","versionType":"git"},{"version":"a83c29e1d145cca5240952100acd1cd60f25fb5f","status":"affected","lessThan":"d3b53f0eda26e442ff97016ad4a0724db8fd3781","versionType":"git"},{"version":"a83c29e1d145cca5240952100acd1cd60f25fb5f","status":"affected","lessThan":"09c816e5c4d3a8d6d6e4b7537433e5e98505d934","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pinctrl/spacemit/pinctrl-k1.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.13","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pinctrl/spacemit/pinctrl-k1.c"]}],"references":["https://git.kernel.org/stable/c/7a551951ebeb5b3f05bdb04a73d4593869c984c4","https://git.kernel.org/stable/c/d3b53f0eda26e442ff97016ad4a0724db8fd3781","https://git.kernel.org/stable/c/09c816e5c4d3a8d6d6e4b7537433e5e98505d934"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:07.220Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/80xxx/CVE-2026-80648.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-80648","state":"PUBLISHED","datePublished":"2026-08-28T06:48:57.479Z","dateUpdated":"2026-08-28T06:48:57.479Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-26T14:34:25.779Z"},"containers":{"cna":{"title":"pinctrl: spacemit: fix NULL check in spacemit_pin_set_config","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\npinctrl: spacemit: fix NULL check in spacemit_pin_set_config\n\nspacemit_pin_set_config() looks up the per-pin descriptor with\nspacemit_get_pin() then checks the wrong variable for failure:\n\n\tconst struct spacemit_pin *spin = spacemit_get_pin(pctrl, pin);\n\t...\n\tif (!pin)\n\t\treturn -EINVAL;\n\n\treg = spacemit_pin_to_reg(pctrl, spin->pin);\n\npin is an unsigned int pin id, where 0 (GPIO_0 / gmac0_rxdv on K3) is a\nvalid pin, so rejecting it here drops the PAD config write for the first\npin of every group. On K3 Pico-ITX the GMAC RGMII group lists pin 0 as\nits first entry, so its drive-strength / bias configuration was silently\nignored.\n\nThe intended guard is against spacemit_get_pin() returning NULL when the\npin id isn't in the SoC's pin table. Check spin instead, which both\nrestores PAD setup for pin 0 and prevents a NULL deref on spin->pin."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"a83c29e1d145cca5240952100acd1cd60f25fb5f","status":"affected","lessThan":"7a551951ebeb5b3f05bdb04a73d4593869c984c4","versionType":"git"},{"version":"a83c29e1d145cca5240952100acd1cd60f25fb5f","status":"affected","lessThan":"d3b53f0eda26e442ff97016ad4a0724db8fd3781","versionType":"git"},{"version":"a83c29e1d145cca5240952100acd1cd60f25fb5f","status":"affected","lessThan":"09c816e5c4d3a8d6d6e4b7537433e5e98505d934","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pinctrl/spacemit/pinctrl-k1.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.13","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/pinctrl/spacemit/pinctrl-k1.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/7a551951ebeb5b3f05bdb04a73d4593869c984c4"},{"url":"https://git.kernel.org/stable/c/d3b53f0eda26e442ff97016ad4a0724db8fd3781"},{"url":"https://git.kernel.org/stable/c/09c816e5c4d3a8d6d6e4b7537433e5e98505d934"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-28T06:48:57.479Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"6.18.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}