Big kfree NULL check cleanup - drivers/isdn
PATCH 5/14 Big kfree NULL check cleanup - drivers/isdn
This is the drivers/isdn/ part of the big kfree cleanup patch.
Remove pointless checks for NULL prior to calling kfree() in drivers/isdn/.
Sorry about the long Cc: list, but I wanted to make sure I included everyone who's code I've changed with this patch.
Signed-off-by Jesper Juhl <[email protected]>
---
Please see the initial announcement mail on LKML with subject "[PATCH 00/14] Big kfree NULL check cleanup"
for additional details.
drivers/isdn/hardware/avm/avm_cs.c | 5 +---- drivers/isdn/hisax/avm_pci.c | 12 ++++-------- drivers/isdn/hisax/avma1_cs.c | 4 +--- drivers/isdn/hisax/config.c | 9 +++------ drivers/isdn/hisax/hfc_2bds0.c | 18 ++++++------------ drivers/isdn/hisax/hfc_2bs0.c | 12 ++++-------- drivers/isdn/hisax/hscx.c | 12 ++++-------- drivers/isdn/hisax/icc.c | 12 ++++-------- drivers/isdn/hisax/ipacx.c | 12 ++++-------- drivers/isdn/hisax/isac.c | 15 ++++++--------- drivers/isdn/hisax/isar.c | 6 ++---- drivers/isdn/hisax/jade.c | 12 ++++-------- drivers/isdn/hisax/netjet.c | 32 ++++++++++---------------------- drivers/isdn/hisax/st5481_usb.c | 12 ++++-------- drivers/isdn/hisax/w6692.c | 12 ++++-------- drivers/isdn/hysdn/hysdn_procconf.c | 3 +-- drivers/isdn/i4l/isdn_ppp.c | 21 +++++++-------------- drivers/isdn/i4l/isdn_tty.c | 24 ++++++++---------------- drivers/isdn/pcbit/drv.c | 6 ++---- 19 files changed, 79 insertions(+), 160 deletions(-)
drivers/isdn/i4l/isdn_ppp.c +7 -14
@@ -364,10 +364,8 @@ isdn_ppp_release(int min, struct file *fisdn_net_hangup (&p->dev); }for (i =0 ; i <NUM_RCV_BUFFS ; i++) { -if (is->rq[i].buf) { -kfree (is->rq[i].buf); - is->rq[i].buf =NULL ; - } +kfree (is->rq[i].buf); + is->rq[i].buf =NULL ; } is->first = is->rq +NUM_RCV_BUFFS -1 ;/* receive queue */ is->last = is->rq;
@@ -378,14 +376,10 @@ isdn_ppp_release(int min, struct file *f is->slcomp =NULL ;#endif #ifdef CONFIG_IPPP_FILTER -if (is->pass_filter) { -kfree (is->pass_filter); - is->pass_filter =NULL ; - } -if (is->active_filter) { -kfree (is->active_filter); - is->active_filter =NULL ; - } +kfree (is->pass_filter); + is->pass_filter =NULL ; +kfree (is->active_filter); + is->active_filter =NULL ;#endif /* TODO: if this was the previous master: link the stuff to the new master */
@@ -914,8 +908,7 @@ isdn_ppp_cleanup(void)kfree (ippp_table[i]);#ifdef CONFIG_ISDN_MPP -if (isdn_ppp_bundle_arr) -kfree (isdn_ppp_bundle_arr); +kfree (isdn_ppp_bundle_arr);#endif /* CONFIG_ISDN_MPP */ }
drivers/isdn/i4l/isdn_tty.c +8 -16
@@ -712,22 +712,14 @@ isdn_tty_modem_hup(modem_info * info, in#endif info->emu.vpar[4 ] =0 ; info->emu.vpar[5 ] =8 ; -if (info->dtmf_state) { -kfree (info->dtmf_state); - info->dtmf_state =NULL ; - } -if (info->silence_state) { -kfree (info->silence_state); - info->silence_state =NULL ; - } -if (info->adpcms) { -kfree (info->adpcms); - info->adpcms =NULL ; - } -if (info->adpcmr) { -kfree (info->adpcmr); - info->adpcmr =NULL ; - } +kfree (info->dtmf_state); + info->dtmf_state =NULL ; +kfree (info->silence_state); + info->silence_state =NULL ; +kfree (info->adpcms); + info->adpcms =NULL ; +kfree (info->adpcmr); + info->adpcmr =NULL ;#endif if ((info->msr &UART_MSR_RI ) && (info->emu.mdmreg[REG_RUNG ] &BIT_RUNG ))
drivers/isdn/hisax/w6692.c +4 -8
@@ -819,14 +819,10 @@ close_w6692state(struct BCState *bcs) {W6692Bmode (bcs,0 , bcs->channel);if (test_and_clear_bit (BC_FLG_INIT , &bcs->Flag)) { -if (bcs->hw.w6692.rcvbuf) { -kfree (bcs->hw.w6692.rcvbuf); - bcs->hw.w6692.rcvbuf =NULL ; - } -if (bcs->blog) { -kfree (bcs->blog); - bcs->blog =NULL ; - } +kfree (bcs->hw.w6692.rcvbuf); + bcs->hw.w6692.rcvbuf =NULL ; +kfree (bcs->blog); + bcs->blog =NULL ;skb_queue_purge (&bcs->rqueue);skb_queue_purge (&bcs->squeue);if (bcs->tx_skb) {
drivers/isdn/hisax/avm_pci.c +4 -8
@@ -552,14 +552,10 @@ close_hdlcstate(struct BCState *bcs) {modehdlc (bcs,0 ,0 );if (test_and_clear_bit (BC_FLG_INIT , &bcs->Flag)) { -if (bcs->hw.hdlc.rcvbuf) { -kfree (bcs->hw.hdlc.rcvbuf); - bcs->hw.hdlc.rcvbuf =NULL ; - } -if (bcs->blog) { -kfree (bcs->blog); - bcs->blog =NULL ; - } +kfree (bcs->hw.hdlc.rcvbuf); + bcs->hw.hdlc.rcvbuf =NULL ; +kfree (bcs->blog); + bcs->blog =NULL ;skb_queue_purge (&bcs->rqueue);skb_queue_purge (&bcs->squeue);if (bcs->tx_skb) {
drivers/isdn/hisax/icc.c +4 -8
@@ -571,14 +571,10 @@ setstack_icc(struct PStack *st, struct Istatic void DC_Close_icc (struct IsdnCardState *cs) { -if (cs->dc.icc.mon_rx) { -kfree (cs->dc.icc.mon_rx); - cs->dc.icc.mon_rx =NULL ; - } -if (cs->dc.icc.mon_tx) { -kfree (cs->dc.icc.mon_tx); - cs->dc.icc.mon_tx =NULL ; - } +kfree (cs->dc.icc.mon_rx); + cs->dc.icc.mon_rx =NULL ; +kfree (cs->dc.icc.mon_tx); + cs->dc.icc.mon_tx =NULL ; } static void
drivers/isdn/hisax/hfc_2bs0.c +4 -8
@@ -582,12 +582,8 @@ inithfc(struct IsdnCardState *cs)void releasehfc (struct IsdnCardState *cs) { -if (cs->bcs[0 ].hw.hfc.send) { -kfree (cs->bcs[0 ].hw.hfc.send); - cs->bcs[0 ].hw.hfc.send =NULL ; - } -if (cs->bcs[1 ].hw.hfc.send) { -kfree (cs->bcs[1 ].hw.hfc.send); - cs->bcs[1 ].hw.hfc.send =NULL ; - } +kfree (cs->bcs[0 ].hw.hfc.send); + cs->bcs[0 ].hw.hfc.send =NULL ; +kfree (cs->bcs[1 ].hw.hfc.send); + cs->bcs[1 ].hw.hfc.send =NULL ; }
drivers/isdn/hisax/st5481_usb.c +4 -8
@@ -335,14 +335,12 @@ void st5481_release_usb(struct st5481_ad// Stop and free Control and Interrupt URBs usb_kill_urb (ctrl->urb); -if (ctrl->urb->transfer_buffer) -kfree (ctrl->urb->transfer_buffer); +kfree (ctrl->urb->transfer_buffer);usb_free_urb (ctrl->urb); ctrl->urb =NULL ;usb_kill_urb (intr->urb); -if (intr->urb->transfer_buffer) -kfree (intr->urb->transfer_buffer); +kfree (intr->urb->transfer_buffer);usb_free_urb (intr->urb); ctrl->urb =NULL ; }
@@ -457,8 +455,7 @@ st5481_setup_isocpipes(struct urb* urb[2 err:for (j =0 ; j <2 ; j++) {if (urb[j]) { -if (urb[j]->transfer_buffer) -kfree (urb[j]->transfer_buffer); +kfree (urb[j]->transfer_buffer); urb[j]->transfer_buffer =NULL ;usb_free_urb (urb[j]); urb[j] =NULL ;
@@ -473,8 +470,7 @@ void st5481_release_isocpipes(struct urbfor (j =0 ; j <2 ; j++) {usb_kill_urb (urb[j]); -if (urb[j]->transfer_buffer) -kfree (urb[j]->transfer_buffer); +kfree (urb[j]->transfer_buffer);usb_free_urb (urb[j]); urb[j] =NULL ; }
drivers/isdn/hisax/config.c +3 -6
@@ -787,8 +787,7 @@ static void ll_unload(struct IsdnCardSta ic.command =ISDN_STAT_UNLOAD ; ic.driver = cs->myid; cs->iif.statcallb (&ic); -if (cs->status_buf) -kfree (cs->status_buf); +kfree (cs->status_buf); cs->status_read =NULL ; cs->status_write =NULL ; cs->status_end =NULL ;
@@ -807,10 +806,8 @@ static void closecard(int cardnr)skb_queue_purge (&csta->rq);skb_queue_purge (&csta->sq); -if (csta->rcvbuf) { -kfree (csta->rcvbuf); - csta->rcvbuf =NULL ; - } +kfree (csta->rcvbuf); + csta->rcvbuf =NULL ;if (csta->tx_skb) {dev_kfree_skb (csta->tx_skb); csta->tx_skb =NULL ;
drivers/isdn/hisax/hfc_2bds0.c +6 -12
@@ -1052,18 +1052,12 @@ init2bds0(struct IsdnCardState *cs)void release2bds0 (struct IsdnCardState *cs) { -if (cs->bcs[0 ].hw.hfc.send) { -kfree (cs->bcs[0 ].hw.hfc.send); - cs->bcs[0 ].hw.hfc.send =NULL ; - } -if (cs->bcs[1 ].hw.hfc.send) { -kfree (cs->bcs[1 ].hw.hfc.send); - cs->bcs[1 ].hw.hfc.send =NULL ; - } -if (cs->hw.hfcD.send) { -kfree (cs->hw.hfcD.send); - cs->hw.hfcD.send =NULL ; - } +kfree (cs->bcs[0 ].hw.hfc.send); + cs->bcs[0 ].hw.hfc.send =NULL ; +kfree (cs->bcs[1 ].hw.hfc.send); + cs->bcs[1 ].hw.hfc.send =NULL ; +kfree (cs->hw.hfcD.send); + cs->hw.hfcD.send =NULL ; }void
drivers/isdn/hisax/hscx.c +4 -8
@@ -156,14 +156,10 @@ close_hscxstate(struct BCState *bcs) {modehscx (bcs,0 , bcs->channel);if (test_and_clear_bit (BC_FLG_INIT , &bcs->Flag)) { -if (bcs->hw.hscx.rcvbuf) { -kfree (bcs->hw.hscx.rcvbuf); - bcs->hw.hscx.rcvbuf =NULL ; - } -if (bcs->blog) { -kfree (bcs->blog); - bcs->blog =NULL ; - } +kfree (bcs->hw.hscx.rcvbuf); + bcs->hw.hscx.rcvbuf =NULL ; +kfree (bcs->blog); + bcs->blog =NULL ;skb_queue_purge (&bcs->rqueue);skb_queue_purge (&bcs->squeue);if (bcs->tx_skb) {
drivers/isdn/hisax/jade.c +4 -8
@@ -195,14 +195,10 @@ close_jadestate(struct BCState *bcs) {modejade (bcs,0 , bcs->channel);if (test_and_clear_bit (BC_FLG_INIT , &bcs->Flag)) { -if (bcs->hw.hscx.rcvbuf) { -kfree (bcs->hw.hscx.rcvbuf); - bcs->hw.hscx.rcvbuf =NULL ; - } -if (bcs->blog) { -kfree (bcs->blog); - bcs->blog =NULL ; - } +kfree (bcs->hw.hscx.rcvbuf); + bcs->hw.hscx.rcvbuf =NULL ; +kfree (bcs->blog); + bcs->blog =NULL ;skb_queue_purge (&bcs->rqueue);skb_queue_purge (&bcs->squeue);if (bcs->tx_skb) {
drivers/isdn/hisax/isac.c +6 -9
@@ -570,15 +570,12 @@ setstack_isac(struct PStack *st, struct }static void -DC_Close_isac (struct IsdnCardState *cs) { -if (cs->dc.isac.mon_rx) { -kfree (cs->dc.isac.mon_rx); - cs->dc.isac.mon_rx =NULL ; - } -if (cs->dc.isac.mon_tx) { -kfree (cs->dc.isac.mon_tx); - cs->dc.isac.mon_tx =NULL ; - } +DC_Close_isac (struct IsdnCardState *cs) +{ +kfree (cs->dc.isac.mon_rx); + cs->dc.isac.mon_rx =NULL ; +kfree (cs->dc.isac.mon_tx); + cs->dc.isac.mon_tx =NULL ; } static void
drivers/isdn/hisax/isar.c +2 -4
@@ -1688,10 +1688,8 @@ close_isarstate(struct BCState *bcs) {modeisar (bcs,0 , bcs->channel);if (test_and_clear_bit (BC_FLG_INIT , &bcs->Flag)) { -if (bcs->hw.isar.rcvbuf) { -kfree (bcs->hw.isar.rcvbuf); - bcs->hw.isar.rcvbuf =NULL ; - } +kfree (bcs->hw.isar.rcvbuf); + bcs->hw.isar.rcvbuf =NULL ;skb_queue_purge (&bcs->rqueue);skb_queue_purge (&bcs->squeue);if (bcs->tx_skb) {
drivers/isdn/hisax/netjet.c +10 -22
@@ -855,14 +855,10 @@ close_tigerstate(struct BCState *bcs) {mode_tiger (bcs,0 , bcs->channel);if (test_and_clear_bit (BC_FLG_INIT , &bcs->Flag)) { -if (bcs->hw.tiger.rcvbuf) { -kfree (bcs->hw.tiger.rcvbuf); - bcs->hw.tiger.rcvbuf =NULL ; - } -if (bcs->hw.tiger.sendbuf) { -kfree (bcs->hw.tiger.sendbuf); - bcs->hw.tiger.sendbuf =NULL ; - } +kfree (bcs->hw.tiger.rcvbuf); + bcs->hw.tiger.rcvbuf =NULL ; +kfree (bcs->hw.tiger.sendbuf); + bcs->hw.tiger.sendbuf =NULL ;skb_queue_purge (&bcs->rqueue);skb_queue_purge (&bcs->squeue);if (bcs->tx_skb) {
@@ -967,20 +963,12 @@ inittiger(struct IsdnCardState *cs)static void releasetiger (struct IsdnCardState *cs) { -if (cs->bcs[0 ].hw.tiger.send) { -kfree (cs->bcs[0 ].hw.tiger.send); - cs->bcs[0 ].hw.tiger.send =NULL ; - } -if (cs->bcs[1 ].hw.tiger.send) { - cs->bcs[1 ].hw.tiger.send =NULL ; - } -if (cs->bcs[0 ].hw.tiger.rec) { -kfree (cs->bcs[0 ].hw.tiger.rec); - cs->bcs[0 ].hw.tiger.rec =NULL ; - } -if (cs->bcs[1 ].hw.tiger.rec) { - cs->bcs[1 ].hw.tiger.rec =NULL ; - } +kfree (cs->bcs[0 ].hw.tiger.send); + cs->bcs[0 ].hw.tiger.send =NULL ; + cs->bcs[1 ].hw.tiger.send =NULL ; +kfree (cs->bcs[0 ].hw.tiger.rec); + cs->bcs[0 ].hw.tiger.rec =NULL ; + cs->bcs[1 ].hw.tiger.rec =NULL ; }void
drivers/isdn/hisax/ipacx.c +4 -8
@@ -762,14 +762,10 @@ bch_close_state(struct BCState *bcs) {bch_mode (bcs,0 , bcs->channel);if (test_and_clear_bit (BC_FLG_INIT , &bcs->Flag)) { -if (bcs->hw.hscx.rcvbuf) { -kfree (bcs->hw.hscx.rcvbuf); - bcs->hw.hscx.rcvbuf =NULL ; - } -if (bcs->blog) { -kfree (bcs->blog); - bcs->blog =NULL ; - } +kfree (bcs->hw.hscx.rcvbuf); + bcs->hw.hscx.rcvbuf =NULL ; +kfree (bcs->blog); + bcs->blog =NULL ;skb_queue_purge (&bcs->rqueue);skb_queue_purge (&bcs->squeue);if (bcs->tx_skb) {
drivers/isdn/hisax/avma1_cs.c +1 -3
@@ -236,9 +236,7 @@ static void avma1cs_detach(dev_link_t *l/* Unlink device structure, free pieces */ *linkp = link->next; -if (link->priv) { -kfree (link->priv); - } +kfree (link->priv);kfree (link); }/* avma1cs_detach */
drivers/isdn/hysdn/hysdn_procconf.c +1 -2
@@ -359,8 +359,7 @@ hysdn_conf_close(struct inode *ino, stru }else if ((filep->f_mode & (FMODE_READ |FMODE_WRITE )) ==FMODE_READ ) {/* read access -> output card info data */ -if (filep->private_data) -kfree (filep->private_data);/* release memory */ +kfree (filep->private_data);/* release memory */ }unlock_kernel ();return (retval);
drivers/isdn/pcbit/drv.c +2 -4
@@ -561,10 +561,8 @@ void pcbit_l3_receive(struct pcbit_dev *else pcbit_fsm_event (dev, chan,EV_USR_RELEASE_REQ ,NULL ); -if (cbdata.data.setup.CalledPN) -kfree (cbdata.data.setup.CalledPN); -if (cbdata.data.setup.CallingPN) -kfree (cbdata.data.setup.CallingPN); +kfree (cbdata.data.setup.CalledPN); +kfree (cbdata.data.setup.CallingPN);break ;case MSG_CONN_CONF :
drivers/isdn/hardware/avm/avm_cs.c +1 -4
@@ -212,11 +212,8 @@ static void avmcs_detach(dev_link_t *lin/* Unlink device structure, free pieces */ *linkp = link->next; -if (link->priv) { -kfree (link->priv); - } +kfree (link->priv);kfree (link); - }/* avmcs_detach */ /*======================================================================
Quoted 24 lines · Jesper Juhl
This is the
drivers/isdn/part of the big kfree cleanup patch.Remove pointless checks for NULL prior to calling
kfree()indrivers/isdn/.Sorry about the long Cc: list, but I wanted to make sure I included everyone who's code I've changed with this patch.
Signed-off-by Jesper Juhl <[email protected]>---
drivers/isdn/hardware/avm/avm_cs.c | 5 +---- drivers/isdn/hisax/avm_pci.c | 12 ++++-------- drivers/isdn/hisax/avma1_cs.c | 4 +--- drivers/isdn/hisax/config.c | 9 +++------ drivers/isdn/hisax/hfc_2bds0.c | 18 ++++++------------ drivers/isdn/hisax/hfc_2bs0.c | 12 ++++-------- drivers/isdn/hisax/hscx.c | 12 ++++-------- drivers/isdn/hisax/icc.c | 12 ++++-------- drivers/isdn/hisax/ipacx.c | 12 ++++-------- drivers/isdn/hisax/isac.c | 15 ++++++--------- drivers/isdn/hisax/isar.c | 6 ++---- drivers/isdn/hisax/jade.c | 12 ++++--------
Quoted 8 lines
drivers/isdn/hisax/netjet.c | 32 ++++++++++---------------------- drivers/isdn/hisax/st5481_usb.c | 12 ++++-------- drivers/isdn/hisax/w6692.c | 12 ++++-------- drivers/isdn/hysdn/hysdn_procconf.c | 3 +-- drivers/isdn/i4l/isdn_ppp.c | 21 +++++++-------------- drivers/isdn/i4l/isdn_tty.c | 24 ++++++++---------------- drivers/isdn/pcbit/drv.c | 6 ++---- 19 files changed, 79 insertions(+), 160 deletions(-)
OK fine with me.
Signed-off-by Karsten Keil <[email protected]>
Signature · 3 lines
Karsten Keil SuSE Labs ISDN development