Description
In the Linux kernel, the following vulnerability has been resolved: backlight: led-bl: Add devlink to supplier LEDs LED Backlight is a consumer of one or multiple LED class devices, but devlink is currently unable to create correct supplier-producer links when the supplier is a class device. It creates instead a link where the supplier is the parent of the expected device. One consequence is that removal order is not correctly enforced. Issues happen for example with the following sections in a device tree overlay: // An LED driver chip pca9632@62 { compatible = "nxp,pca9632"; reg = <0x62>; // ... addon_led_pwm: led-pwm@3 { reg = <3>; label = "addon:led:pwm"; }; }; backlight-addon { compatible = "led-backlight"; leds = <&addon_led_pwm>; brightness-levels = <255>; default-brightness-level = <255>; }; In this example, the devlink should be created between the backlight-addon (consumer) and the pca9632@62 (supplier). Instead it is created between the backlight-addon (consumer) and the parent of the pca9632@62, which is typically the I2C bus adapter. On removal of the above overlay, the LED driver can be removed before the backlight device, resulting in: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010 ... Call trace: led_put+0xe0/0x140 devm_led_release+0x6c/0x98 Another way to reproduce the bug without any device tree overlays is unbinding the LED class device (pca9632@62) before unbinding the consumer (backlight-addon): echo 11-0062 >/sys/bus/i2c/drivers/leds-pca963x/unbind echo ...backlight-dock >/sys/bus/platform/drivers/led-backlight/unbind Fix by adding a devlink between the consuming led-backlight device and the supplying LED device, as other drivers and subsystems do as well.
Product status
ae232e45acf9621f2c96b41ca3af006ac7552c33 (git) before 0e63ea4378489e09eb5e920c8a50c10caacf563a
ae232e45acf9621f2c96b41ca3af006ac7552c33 (git) before 60a24070392ec726ccfe6ad1ca7b0381c8d8f7c9
ae232e45acf9621f2c96b41ca3af006ac7552c33 (git) before 08c9dc6b0f2c68e5e7c374ac4499e321e435d46c
ae232e45acf9621f2c96b41ca3af006ac7552c33 (git) before 9341d6698f4cfdfc374fb6944158d111ebe16a9d
5.6
Any version before 5.6
6.12.63 (semver)
6.17.13 (semver)
6.18.2 (semver)
6.19-rc1 (original_commit_for_fix)
References
git.kernel.org/...c/0e63ea4378489e09eb5e920c8a50c10caacf563a
git.kernel.org/...c/60a24070392ec726ccfe6ad1ca7b0381c8d8f7c9
git.kernel.org/...c/08c9dc6b0f2c68e5e7c374ac4499e321e435d46c
git.kernel.org/...c/9341d6698f4cfdfc374fb6944158d111ebe16a9d
Data based on CVE®. Copyright © 1999-2025, The MITRE Corporation. All rights reserved.