Description (CNA)
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
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected ba696b470839d70c6b8290c1f798bac7fb2a584c before d428863ca8baa4e9eaf781266ac219b017dcf277; affected 79c6d4fa1be1fd0819c50ebb4dee101bbbc4d20e before f494cfc254cd509d7cbc44b843e0a6602a520a33; affected 266423e60ea1b953fcc0cd97f3dad85857e434d1 before dd6b1919e41d1260259c4505777be565fb3a7efd; affected 266423e60ea1b953fcc0cd97f3dad85857e434d1 before 3b978fd0a3092b25561ac26bc1a87149fa981ddc; affected 266423e60ea1b953fcc0cd97f3dad85857e434d1 before b8535f5c77cc61352d02a0c038a280127a8b8208; affected 266423e60ea1b953fcc0cd97f3dad85857e434d1 before 68ea6dd23b732081826c36033835468383487864; affected 266423e60ea1b953fcc0cd97f3dad85857e434d1 before 727f043d699ab0d5d87122c2177f2b45fbe58d35; affected 266423e60ea1b953fcc0cd97f3dad85857e434d1 before 32711f77db0641e57fd96fdc013bf1286b9f2514; affected 75278f1aff5e14c904d3503c6f836c42a7afb441; affected 5.10.89 before 5.10.270; affected 5.15.12 before 5.15.221; affected 5.4.175 before 5.5 |
| Linux / Linux | affected 5.16; unaffected 0 before 5.16; unaffected 5.10.270 through 5.10.*; unaffected 5.15.221 through 5.15.*; unaffected 6.1.188 through 6.1.*; unaffected 6.6.157 through 6.6.*; unaffected 6.12.110 through 6.12.*; unaffected 6.18.52 through 6.18.*; unaffected 7.2.6 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/d428863ca8baa4e9eaf781266ac219b017dcf277
- https://git.kernel.org/stable/c/f494cfc254cd509d7cbc44b843e0a6602a520a33
- https://git.kernel.org/stable/c/dd6b1919e41d1260259c4505777be565fb3a7efd
- https://git.kernel.org/stable/c/3b978fd0a3092b25561ac26bc1a87149fa981ddc
- https://git.kernel.org/stable/c/b8535f5c77cc61352d02a0c038a280127a8b8208
- https://git.kernel.org/stable/c/68ea6dd23b732081826c36033835468383487864
- https://git.kernel.org/stable/c/727f043d699ab0d5d87122c2177f2b45fbe58d35
- https://git.kernel.org/stable/c/32711f77db0641e57fd96fdc013bf1286b9f2514