From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frank Blaschka Date: Tue, 04 Sep 2012 08:13:13 +0000 Subject: Re: [PATCH] qeth: fix possible memory leak in qeth_l3_add_[vipa|rxip]() Message-Id: <20120904081313.GA35191@tuxmaker.boeblingen.de.ibm.com> In-Reply-To: References: To: linux-s390@vger.kernel.org List-ID: On Mon, Sep 03, 2012 at 05:37:33PM +0800, Wei Yongjun wrote: > From: Wei Yongjun > > ipaddr has been allocated in function qeth_l3_add_vipa() but > does not free before leaving from the error handling cases. The > same problem also exists in function qeth_l3_add_rxip(). > > spatch with a semantic match is used to found this problem. > (http://coccinelle.lip6.fr/) > > Signed-off-by: Wei Yongjun > --- added this one to my local tree. THX! Frank > drivers/s390/net/qeth_l3_main.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c > index c5f03fa..4cd310c 100644 > --- a/drivers/s390/net/qeth_l3_main.c > +++ b/drivers/s390/net/qeth_l3_main.c > @@ -794,6 +794,7 @@ int qeth_l3_add_vipa(struct qeth_card *card, enum qeth_prot_versions proto, > rc = -EEXIST; > spin_unlock_irqrestore(&card->ip_lock, flags); > if (rc) { > + kfree(ipaddr); > return rc; > } > if (!qeth_l3_add_ip(card, ipaddr)) > @@ -858,6 +859,7 @@ int qeth_l3_add_rxip(struct qeth_card *card, enum qeth_prot_versions proto, > rc = -EEXIST; > spin_unlock_irqrestore(&card->ip_lock, flags); > if (rc) { > + kfree(ipaddr); > return rc; > } > if (!qeth_l3_add_ip(card, ipaddr)) > >