drm/nouveau/drm/nouveau/led: prevent a possible use-after-free
If the led class registration fails, we free drm->led but do not reset it to NULL, which means that the suspend/resume/fini function will act as if everything went well in init() and will likely crash the kernel. This patch adds the missing drm->led = NULL. Reported-by: Emmanuel Pescosta <emmanuelpescosta099@gmail.com> Signed-off-by: Martin Peres <martin.peres@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
443828fd9e
commit
ca33fafdc9
|
@ -102,6 +102,7 @@ nouveau_led_init(struct drm_device *dev)
|
|||
ret = led_classdev_register(dev->dev, &drm->led->led);
|
||||
if (ret) {
|
||||
kfree(drm->led);
|
||||
drm->led = NULL;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue