From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754732AbbISDy4 (ORCPT ); Fri, 18 Sep 2015 23:54:56 -0400 Received: from mail-pa0-f51.google.com ([209.85.220.51]:33259 "EHLO mail-pa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753756AbbISDyy (ORCPT ); Fri, 18 Sep 2015 23:54:54 -0400 Date: Sat, 19 Sep 2015 09:24:38 +0530 From: Sudip Mukherjee To: Felipe Balbi Cc: Thomas Dahlmann , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-geode@lists.infradead.org, linux-usb@vger.kernel.org Subject: Re: [PATCH 00/16] usb: gadget: amd5536udc: fix memory leaks Message-ID: <20150919035438.GA666@sudip-pc> References: <1442243583-24741-1-git-send-email-sudipm.mukherjee@gmail.com> <20150918183954.GD7636@saruman.tx.rr.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150918183954.GD7636@saruman.tx.rr.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Sep 18, 2015 at 01:39:54PM -0500, Felipe Balbi wrote: > On Mon, Sep 14, 2015 at 08:42:47PM +0530, Sudip Mukherjee wrote: > > This amd5536udc was a complete mess. The major problems that i could > > find are: > > > > 1) if udc_pci_probe() fails in any stage then it just calls the > > udc_pci_remove() to handle error. And udc_pci_remove() works with > > struct udc *dev which we get from pci_get_drvdata(pdev). But we do the > > pci_set_drvdata(pdev, dev) almost at the end of probe. So basically > > incase of error we are handling the error by dereferencing a NULL > > pointer. > > > > 2) udc_pci_remove() does a BUG_ON(dev->driver != NULL) and dev->driver > > will be set only if probe is success. So that means if probe fails then > > probe will call udc_pci_remove() for error handling and udc_pci_remove() > > will inturn halts the kernel by calling BUG(). > > > > And apart from these numerous memory leaks and not releasing of > > resources. Here comes a rewrite of few of the functions in an > > attempt to fix these. > > run checkpatch.pl and try again I know checkpatch gives warning on some of my patches but as the warning was not related to the part I have modified so I have not done any thing with them as they will become unrelated changes than what is mentioned in the commit log. Anyways, I will fix up all the warnings and send v2. But do you want me to also fix the checkpatch warnings in those patch where functions are rearranged? Because in those patches functions were just moved and there was no change in the body of the function. regards sudip