fbdev: imxfb: Check fb_add_videomode to prevent null-ptr-deref

fb_add_videomode() can fail with -ENOMEM when its internal kmalloc() cannot
allocate a struct fb_modelist.  If that happens, the modelist stays empty but
the driver continues to register.  Add a check for its return value to prevent
poteintial null-ptr-deref, which is similar to the commit 17186f1f90 ("fbdev:
Fix do_register_framebuffer to prevent null-ptr-deref in fb_videomode_to_var").

Fixes: 1b6c79361b ("video: imxfb: Add DT support")
Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
Chenyuan Yang 2025-07-23 22:25:34 -05:00 committed by Helge Deller
parent 57ba4d5338
commit da11e6a30e
1 changed files with 7 additions and 2 deletions

View File

@ -996,8 +996,13 @@ static int imxfb_probe(struct platform_device *pdev)
info->fix.smem_start = fbi->map_dma;
INIT_LIST_HEAD(&info->modelist);
for (i = 0; i < fbi->num_modes; i++)
fb_add_videomode(&fbi->mode[i].mode, &info->modelist);
for (i = 0; i < fbi->num_modes; i++) {
ret = fb_add_videomode(&fbi->mode[i].mode, &info->modelist);
if (ret) {
dev_err(&pdev->dev, "Failed to add videomode\n");
goto failed_cmap;
}
}
/*
* This makes sure that our colour bitfield