backlight: led-bl: Add devlink to supplier LEDs (Linux Linux)

CVE-2025-68758
Non disponible

En bref

Source
NVD
EPSS
EPSS 0.20 % · centile 10 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
Linux
Statut NVD
Deferred

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.

Références

Références européennes

Avis du CERT-FR

Produits affectés

ProduitVersions
Linux · Linuxaffected ae232e45acf9621f2c96b41ca3af006ac7552c33 < 64739adf3eef063b8e2c72b7e919eac8c6480bf0 ; affected ae232e45acf9621f2c96b41ca3af006ac7552c33 < cd01a24b3e52d6777b49c917d841f125fe9eebd0 ; affected ae232e45acf9621f2c96b41ca3af006ac7552c33 < e06df738a9ad8417f1c4c7cd6992cda320e9e7ca ; affected ae232e45acf9621f2c96b41ca3af006ac7552c33 < 30cbe4b642745a9488a0f0d78be43afe69d7555c ; affected ae232e45acf9621f2c96b41ca3af006ac7552c33 < 0e63ea4378489e09eb5e920c8a50c10caacf563a ; affected ae232e45acf9621f2c96b41ca3af006ac7552c33 < 60a24070392ec726ccfe6ad1ca7b0381c8d8f7c9
Linux · Linuxaffected 5.6 ; unaffected 0 < 5.6 ; unaffected 5.10.248 ≤ 5.10.* ; unaffected 5.15.198 ≤ 5.15.* ; unaffected 6.1.160 ≤ 6.1.* ; unaffected 6.6.120 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD