Linux: pinctrl: bcm2835: Don't remove an unregistered GPIO chip
What fixes it
- 3b978fd0a3092b25561ac26bc1a87149fa981ddcLinuxCVE List
- 68ea6dd23b732081826c36033835468383487864LinuxCVE List
- 727f043d699ab0d5d87122c2177f2b45fbe58d35LinuxCVE List
- 32711f77db0641e57fd96fdc013bf1286b9f2514LinuxCVE List
- 5.10.270LinuxCVE List
- 5.15.221LinuxCVE List
Show all 7 fixed versions
- 5.5LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
pinctrl: bcm2835: Don't remove an unregistered GPIO chip
If the devm_pinctrl_register() function fails, bcm2835_pinctrl_probe() calls gpiochip_remove() before gpiochip_add_data() has registered the GPIO chip.
This means that upon failure the gpio_chip.gpiodev is NULL resulting in a null pointer dereference inside the gpiochip_remove() function.
Remove the unnecessary function call to gpiochip_remove(). No GPIO cleanup is required because the GPIO chip has not yet been registered. Without this change there is potential for a kernel panic upon registration failure
Text from CVE List
Affected versions 22
- Linuxaffected: ba696b470839d70c6b8290c1f798bac7fb2a584c before d428863ca8baa4e9eaf781266ac219b017dcf277CVE List
- Linuxaffected: 79c6d4fa1be1fd0819c50ebb4dee101bbbc4d20e before f494cfc254cd509d7cbc44b843e0a6602a520a33CVE List
- Linuxaffected: 266423e60ea1b953fcc0cd97f3dad85857e434d1 before dd6b1919e41d1260259c4505777be565fb3a7efdCVE List
- Linuxaffected: 266423e60ea1b953fcc0cd97f3dad85857e434d1 before 3b978fd0a3092b25561ac26bc1a87149fa981ddcCVE List
- Linuxaffected: 266423e60ea1b953fcc0cd97f3dad85857e434d1 before b8535f5c77cc61352d02a0c038a280127a8b8208CVE List
- Linuxaffected: 266423e60ea1b953fcc0cd97f3dad85857e434d1 before 68ea6dd23b732081826c36033835468383487864CVE List
- Linuxaffected: 266423e60ea1b953fcc0cd97f3dad85857e434d1 before 727f043d699ab0d5d87122c2177f2b45fbe58d35CVE List
- Linuxaffected: 266423e60ea1b953fcc0cd97f3dad85857e434d1 before 32711f77db0641e57fd96fdc013bf1286b9f2514CVE List
- Linuxaffected: 75278f1aff5e14c904d3503c6f836c42a7afb441CVE List
- Linuxaffected: 5.10.89 before 5.10.270CVE List
- Linuxaffected: 5.15.12 before 5.15.221CVE List
- Linuxaffected: 5.4.175 before 5.5CVE List
- Linuxaffected: 5.16CVE List
- Linuxunaffected: all versions before 5.16CVE List
- Linuxunaffected: 5.10.270 through 5.10.*CVE List
- Linuxunaffected: 5.15.221 through 5.15.*CVE List
- Linuxunaffected: 6.1.188 through 6.1.*CVE List
- Linuxunaffected: 6.6.157 through 6.6.*CVE List
- Linuxunaffected: 6.12.110 through 6.12.*CVE List
- Linuxunaffected: 6.18.52 through 6.18.*CVE List
- Linuxunaffected: 7.2.6 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 8
- git.kernel.org/stable/c/d428863ca8baa4e9eaf781266ac219b017dcf277Referencevia CVE List
- git.kernel.org/stable/c/f494cfc254cd509d7cbc44b843e0a6602a520a33Referencevia CVE List
- git.kernel.org/stable/c/dd6b1919e41d1260259c4505777be565fb3a7efdReferencevia CVE List
- git.kernel.org/stable/c/3b978fd0a3092b25561ac26bc1a87149fa981ddcReferencevia CVE List
- git.kernel.org/stable/c/b8535f5c77cc61352d02a0c038a280127a8b8208Referencevia CVE List
- git.kernel.org/stable/c/68ea6dd23b732081826c36033835468383487864Referencevia CVE List
- git.kernel.org/stable/c/727f043d699ab0d5d87122c2177f2b45fbe58d35Referencevia CVE List
- git.kernel.org/stable/c/32711f77db0641e57fd96fdc013bf1286b9f2514Referencevia CVE List