On 2/21/22 11:37, xkernel.wang@xxxxxxxxxxx wrote: > From: Xiaoke Wang <xkernel.wang@xxxxxxxxxxx> > > kstrdup() is a memory allocation function which can return NULL when > some internal memory errors happen. It is better to check the return > value of it to catch the error in time during the setup of viafb. > > Signed-off-by: Xiaoke Wang <xkernel.wang@xxxxxxxxxxx> applied to fbdev for-next tree. Thanks! Helge > --- > drivers/video/fbdev/via/viafbdev.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/video/fbdev/via/viafbdev.c b/drivers/video/fbdev/via/viafbdev.c > index 22deb34..2d67c92 100644 > --- a/drivers/video/fbdev/via/viafbdev.c > +++ b/drivers/video/fbdev/via/viafbdev.c > @@ -1939,8 +1939,12 @@ static int __init viafb_setup(void) > > if (!strncmp(this_opt, "viafb_mode1=", 12)) { > viafb_mode1 = kstrdup(this_opt + 12, GFP_KERNEL); > + if (!viafb_mode1) > + return -ENOMEM; > } else if (!strncmp(this_opt, "viafb_mode=", 11)) { > viafb_mode = kstrdup(this_opt + 11, GFP_KERNEL); > + if (!viafb_mode) > + return -ENOMEM; > } else if (!strncmp(this_opt, "viafb_bpp1=", 11)) { > if (kstrtouint(this_opt + 11, 0, &viafb_bpp1) < 0) > return -EINVAL; > @@ -1969,6 +1973,8 @@ static int __init viafb_setup(void) > return -EINVAL; > } else if (!strncmp(this_opt, "viafb_active_dev=", 17)) { > viafb_active_dev = kstrdup(this_opt + 17, GFP_KERNEL); > + if (!viafb_active_dev) > + return -ENOMEM; > } else if (!strncmp(this_opt, > "viafb_display_hardware_layout=", 30)) { > if (kstrtoint(this_opt + 30, 0, > @@ -1995,8 +2001,12 @@ static int __init viafb_setup(void) > return -EINVAL; > } else if (!strncmp(this_opt, "viafb_lcd_port=", 15)) { > viafb_lcd_port = kstrdup(this_opt + 15, GFP_KERNEL); > + if (!viafb_lcd_port) > + return -ENOMEM; > } else if (!strncmp(this_opt, "viafb_dvi_port=", 15)) { > viafb_dvi_port = kstrdup(this_opt + 15, GFP_KERNEL); > + if (!viafb_dvi_port) > + return -ENOMEM; > } > } > return 0;