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
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
ba696b470839d70c6b8290c1f798bac7fb2a584c to < d428863ca8baa4e9eaf781266ac219b017dcf277affected79c6d4fa1be1fd0819c50ebb4dee101bbbc4d20e to < f494cfc254cd509d7cbc44b843e0a6602a520a33affected266423e60ea1b953fcc0cd97f3dad85857e434d1 to < dd6b1919e41d1260259c4505777be565fb3a7efdaffected266423e60ea1b953fcc0cd97f3dad85857e434d1 to < 3b978fd0a3092b25561ac26bc1a87149fa981ddcaffected266423e60ea1b953fcc0cd97f3dad85857e434d1 to < b8535f5c77cc61352d02a0c038a280127a8b8208affected266423e60ea1b953fcc0cd97f3dad85857e434d1 to < 68ea6dd23b732081826c36033835468383487864affected266423e60ea1b953fcc0cd97f3dad85857e434d1 to < 727f043d699ab0d5d87122c2177f2b45fbe58d35affected266423e60ea1b953fcc0cd97f3dad85857e434d1 to < 32711f77db0641e57fd96fdc013bf1286b9f2514affected75278f1aff5e14c904d3503c6f836c42a7afb441affected5.10.89 to < 5.10.270affected5.15.12 to < 5.15.221affected5.4.175 to < 5.5affected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected5.10.270 to ≤ 5.10.*unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
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 ↗