Skip to contentSkip to conversation

Big kfree NULL check cleanup - drivers/media

PATCH In review Jesper Juhl 4 participants 4 messages Oct 13, 2005 – Oct 15, 2005 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

PATCH 8/14 Big kfree NULL check cleanup - drivers/media

This is the drivers/media/ part of the big kfree cleanup patch.

Remove pointless checks for NULL prior to calling kfree() in drivers/media/.

Sorry about the long Cc: list, but I wanted to make sure I included everyone who's code I've changed with this patch.

---

Please see the initial announcement mail on LKML with subject "[PATCH 00/14] Big kfree NULL check cleanup"
for additional details.

 drivers/media/dvb/bt8xx/dst.c              |    8 ++------
 drivers/media/dvb/frontends/dvb_dummy_fe.c |    4 ++--
 drivers/media/dvb/frontends/l64781.c       |    3 ++-
 drivers/media/dvb/frontends/lgdt330x.c     |    3 +--
 drivers/media/dvb/frontends/mt312.c        |    3 +--
 drivers/media/dvb/frontends/or51132.c      |    3 +--
 drivers/media/video/arv.c                  |   12 ++++--------
 drivers/media/video/bttv-driver.c          |    6 ++----
 drivers/media/video/v4l1-compat.c          |    6 ++----
 drivers/media/video/videocodec.c           |    6 ++----
 drivers/media/video/videodev.c             |    3 +--
 drivers/media/video/zoran_card.c           |   14 ++++++--------
 12 files changed, 26 insertions(+), 45 deletions(-)
drivers/media/dvb/frontends/lgdt330x.c +1 -2
@@ -729,8 +729,7 @@ struct dvb_frontend* lgdt330x_attach(con
 	return &state->frontend;
 
 error:
-	if (state)
-		kfree(state);
+	kfree(state);
 	dprintk("%s: ERROR\n",__FUNCTION__);
 	return NULL;
 }
drivers/media/dvb/frontends/mt312.c +1 -2
@@ -675,8 +675,7 @@ struct dvb_frontend* mt312_attach(const 
 	return &state->frontend;
 
 error:
-	if (state)
-		kfree(state);
+	kfree(state);
 	return NULL;
 }
 
drivers/media/dvb/frontends/dvb_dummy_fe.c +2 -2
@@ -146,7 +146,7 @@ struct dvb_frontend* dvb_dummy_fe_qpsk_a
 	return &state->frontend;
 
 error:
-	if (state) kfree(state);
+	kfree(state);
 	return NULL;
 }
 
@@ -169,7 +169,7 @@ struct dvb_frontend* dvb_dummy_fe_qam_at
 	return &state->frontend;
 
 error:
-	if (state) kfree(state);
+	kfree(state);
 	return NULL;
 }
 
drivers/media/dvb/frontends/l64781.c +2 -1
@@ -559,7 +559,8 @@ struct dvb_frontend* l64781_attach(const
 	return &state->frontend;
 
 error:
-	if (reg0x3e >= 0) l64781_writereg (state, 0x3e, reg0x3e);  /* restore reg 0x3e */
+	if (reg0x3e >= 0)
+		l64781_writereg (state, 0x3e, reg0x3e);  /* restore reg 0x3e */
 	kfree(state);
 	return NULL;
 }
drivers/media/dvb/frontends/or51132.c +1 -2
@@ -575,8 +575,7 @@ struct dvb_frontend* or51132_attach(cons
 	return &state->frontend;
 
 error:
-	if (state)
-		kfree(state);
+	kfree(state);
 	return NULL;
 }
 
drivers/media/dvb/bt8xx/dst.c +2 -6
@@ -1331,9 +1331,7 @@ struct dst_state *dst_attach(struct dst_
 {
 	/* check if the ASIC is there */
 	if (dst_probe(state) < 0) {
-		if (state)
-			kfree(state);
-
+		kfree(state);
 		return NULL;
 	}
 	/* determine settings based on type */
@@ -1349,9 +1347,7 @@ struct dst_state *dst_attach(struct dst_
 		break;
 	default:
 		dprintk(verbose, DST_ERROR, 1, "unknown DST type. please report to the LinuxTV.org DVB mailinglist.");
-		if (state)
-			kfree(state);
-
+		kfree(state);
 		return NULL;
 	}
 
drivers/media/video/arv.c +4 -8
@@ -865,10 +865,8 @@ out_dev:
 
 out_irq:
 #endif
-	for (i = 0; i < MAX_AR_HEIGHT; i++) {
-		if (ar->frame[i])
-			kfree(ar->frame[i]);
-	}
+	for (i = 0; i < MAX_AR_HEIGHT; i++)
+		kfree(ar->frame[i]);
 
 out_line_buff:
 #if USE_INT
@@ -899,10 +897,8 @@ static void __exit ar_cleanup_module(voi
 #if USE_INT
 	free_irq(M32R_IRQ_INT3, ar);
 #endif
-	for (i = 0; i < MAX_AR_HEIGHT; i++) {
-		if (ar->frame[i])
-			kfree(ar->frame[i]);
-	}
+	for (i = 0; i < MAX_AR_HEIGHT; i++)
+		kfree(ar->frame[i]);
 #if USE_INT
 	kfree(ar->line_buff);
 #endif
drivers/media/video/zoran_card.c +6 -8
@@ -1057,10 +1057,8 @@ zr36057_init (struct zoran *zr)
 			KERN_ERR
 			"%s: zr36057_init() - kmalloc (STAT_COM) failed\n",
 			ZR_DEVNAME(zr));
-		if (vdev)
-			kfree(vdev);
-		if (mem)
-			kfree((void *)mem);
+		kfree(vdev);
+		kfree((void *)mem);
 		return -ENOMEM;
 	}
 	memset((void *) mem, 0, mem_needed);
@@ -1105,15 +1103,15 @@ zoran_release (struct zoran *zr)
 	/* unregister videocodec bus */
 	if (zr->codec) {
 		struct videocodec_master *master = zr->codec->master_data;
+
 		videocodec_detach(zr->codec);
-		if (master)
-			kfree(master);
+		kfree(master);
 	}
 	if (zr->vfe) {
 		struct videocodec_master *master = zr->vfe->master_data;
+
 		videocodec_detach(zr->vfe);
-		if (master)
-			kfree(master);
+		kfree(master);
 	}
 
 	/* unregister i2c bus */
drivers/media/video/videocodec.c +2 -4
@@ -353,8 +353,7 @@ videocodec_build_table (void)
 	dprintk(3, "videocodec_build table: %d entries, %d bytes\n", i,
 		size);
 
-	if (videocodec_buf)
-		kfree(videocodec_buf);
+	kfree(videocodec_buf);
 	videocodec_buf = (char *) kmalloc(size, GFP_KERNEL);
 
 	i = 0;
@@ -471,8 +470,7 @@ videocodec_exit (void)
 {
 #ifdef CONFIG_PROC_FS
 	remove_proc_entry("videocodecs", NULL);
-	if (videocodec_buf)
-		kfree(videocodec_buf);
+	kfree(videocodec_buf);
 #endif
 }
 
drivers/media/video/v4l1-compat.c +2 -4
@@ -1006,10 +1006,8 @@ v4l_compat_translate_ioctl(struct inode 
 		break;
 	}
 
-	if (cap2)
-		kfree(cap2);
-	if (fmt2)
-		kfree(fmt2);
+	kfree(cap2);
+	kfree(fmt2);
 	return err;
 }
 
drivers/media/video/bttv-driver.c +2 -4
@@ -1951,8 +1951,7 @@ static int setup_window(struct bttv_fh *
 	}
 
 	down(&fh->cap.lock);
-	if (fh->ov.clips)
-		kfree(fh->ov.clips);
+	kfree(fh->ov.clips);
 	fh->ov.clips    = clips;
 	fh->ov.nclips   = n;
 
@@ -2723,8 +2722,7 @@ static int bttv_do_ioctl(struct inode *i
 			fh->ov.w.height = fb->fmt.height;
 			btv->init.ov.w.width  = fb->fmt.width;
 			btv->init.ov.w.height = fb->fmt.height;
-			if (fh->ov.clips)
-				kfree(fh->ov.clips);
+			kfree(fh->ov.clips);
 			fh->ov.clips = NULL;
 			fh->ov.nclips = 0;
 
drivers/media/video/videodev.c +1 -2
@@ -215,8 +215,7 @@ video_usercopy(struct inode *inode, stru
 	}
 
 out:
-	if (mbuf)
-		kfree(mbuf);
+	kfree(mbuf);
 	return err;
 }
 
Acked-by on v1 8/14
#1 lore raw
Quoted 36 lines · Jesper Juhl

This is the drivers/media/ part of the big kfree cleanup patch.

Remove pointless checks for NULL prior to calling kfree() in drivers/media/.

Sorry about the long Cc: list, but I wanted to make sure I included everyone who's code I've changed with this patch.

---

Please see the initial announcement mail on LKML with subject "[PATCH 00/14] Big kfree NULL check cleanup"
for additional details.

drivers/media/dvb/bt8xx/dst.c +1 -3
@@ -1331,9 +1331,7 @@ struct dst_state *dst_attach(struct dst_
 {
 	/* check if the ASIC is there */
 	if (dst_probe(state) < 0) {
-		if (state)
-			kfree(state);
-
+		kfree(state);
 		return NULL;
 	}
 	/* determine settings based on type */

drivers/media/dvb/bt8xx/dst.c struct dst_state *dst_attach(struct dst_ · line 1353

Quoted 10 lines
drivers/media/dvb/bt8xx/dst.c +1 -3
@@ -1349,9 +1347,7 @@ struct dst_state *dst_attach(struct dst_
 		break;
 	default:
 		dprintk(verbose, DST_ERROR, 1, "unknown DST type. please report to the LinuxTV.org DVB mailinglist.");
-		if (state)
-			kfree(state);
-
+		kfree(state);
 		return NULL;
 	}
 

Thanks,
Manu

Acked-by on v1 8/14
#2 lore raw
In reply to Jesper Juhl
Quoted 12 lines · Jesper Juhl

This is the drivers/media/ part of the big kfree cleanup patch.

Remove pointless checks for NULL prior to calling kfree() in drivers/media/.

Sorry about the long Cc: list, but I wanted to make sure I included everyone who's code I've changed with this patch.

---

[...]

drivers/media/dvb/frontends/mt312.c struct dvb_frontend* mt312_attach(const · line 681

Quoted 12 lines
drivers/media/dvb/frontends/mt312.c +1 -2
@@ -675,8 +675,7 @@ struct dvb_frontend* mt312_attach(const 
 	return &state->frontend;
 
 error:
-	if (state)
-		kfree(state);
+	kfree(state);
 	return NULL;
 }
 
Acked-by on v1 8/14
#3 lore raw
In reply to Jesper Juhl
Quoted 28 lines · Jesper Juhl

This is the drivers/media/ part of the big kfree cleanup patch.

Remove pointless checks for NULL prior to calling kfree() in drivers/media/.

Sorry about the long Cc: list, but I wanted to make sure I included everyone who's code I've changed with this patch.

---

Please see the initial announcement mail on LKML with subject "[PATCH 00/14] Big kfree NULL check cleanup" for additional details.

linux-2.6.14-rc4-orig/drivers/media/dvb/frontends/lgdt330
x.c 2005-10-11 22:41:09.000000000 +0200 +++
linux-2.6.14-rc4/drivers/media/dvb/frontends/lgdt330x.c 2
005-10-13 10:28:41.000000000 +0200 @@ -729,8 +729,7 @@ struct dvb_frontend* lgdt330x_attach(con return &state->frontend;

error:

drivers/media/dvb/frontends/lgdt330x.c struct dvb_frontend* lgdt330x_attach(con

Quoted 7 lines
drivers/media/dvb/frontends/lgdt330x.c +1 -3
-	if (state)
-		kfree(state);
+	kfree(state);
 	dprintk("%s: ERROR\n",__FUNCTION__);
 	return NULL;
 }
---