From: Jesper Juhl One case turned out not to be one when I took a closer look, so I actually only missed one. Here's a patch to fix that last one and also put the check in bitblit.c back. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton --- 25-akpm/drivers/video/console/bitblit.c | 6 +++++- 25-akpm/drivers/video/w100fb.c | 6 ++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff -puN drivers/video/console/bitblit.c~remove-redundant-null-checks-before-kfree-in-drivers-video-fix drivers/video/console/bitblit.c --- 25/drivers/video/console/bitblit.c~remove-redundant-null-checks-before-kfree-in-drivers-video-fix 2005-03-20 16:25:04.000000000 -0800 +++ 25-akpm/drivers/video/console/bitblit.c 2005-03-20 16:25:04.000000000 -0800 @@ -199,7 +199,11 @@ static void bit_putcs(struct vc_data *vc count -= cnt; } - kfree(buf); + /* buf is always NULL except when in monochrome mode, so in this case + it's a gain to check buf against NULL even though kfree() handles + NULL pointers just fine */ + if (unlikely(buf)) + kfree(buf); } static void bit_clear_margins(struct vc_data *vc, struct fb_info *info, diff -puN drivers/video/w100fb.c~remove-redundant-null-checks-before-kfree-in-drivers-video-fix drivers/video/w100fb.c --- 25/drivers/video/w100fb.c~remove-redundant-null-checks-before-kfree-in-drivers-video-fix 2005-03-20 16:25:04.000000000 -0800 +++ 25-akpm/drivers/video/w100fb.c 2005-03-20 16:25:04.000000000 -0800 @@ -537,10 +537,8 @@ static void w100fb_clear_buffer(void) { int i; for (i = 0; i < W100_BUF_NUM; i++) { - if (gSaveImagePtr[i] != NULL) { - kfree(gSaveImagePtr[i]); - gSaveImagePtr[i] = NULL; - } + kfree(gSaveImagePtr[i]); + gSaveImagePtr[i] = NULL; } } _