From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Sun, 26 May 2013 20:41:16 +0000 Subject: Re: [patch] f2fs: dereferencing an ERR_PTR Message-Id: <20130526204116.GE23932@mwanda> List-Id: References: <20130523100213.GA19107@elgon.mountain> <51A224AB.8010209@bfs.de> In-Reply-To: <51A224AB.8010209@bfs.de> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: walter harms Cc: kernel-janitors@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net On Sun, May 26, 2013 at 05:05:15PM +0200, walter harms wrote: > > > Am 23.05.2013 12:02, schrieb Dan Carpenter: > > There is an error path where "dir" is an ERR_PTR. > > > > Signed-off-by: Dan Carpenter > > > > diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c > > index 5148d90..921aede 100644 > > --- a/fs/f2fs/recovery.c > > +++ b/fs/f2fs/recovery.c > > @@ -71,7 +71,8 @@ static int recover_dentry(struct page *ipage, struct inode *inode) > > out: > > f2fs_msg(inode->i_sb, KERN_NOTICE, "recover_inode and its dentry: " > > "ino = %x, name = %s, dir = %lx, err = %d", > > - ino_of_node(ipage), raw_inode->i_name, dir->i_ino, err); > > + ino_of_node(ipage), raw_inode->i_name, > > + IS_ERR(dir) ? 0 : dir->i_ino, err); > > return err; > > } > > > I am not an expert on this matter so a simple question: > dir->i_ino=0 is not valid ? That is a valid question. The trick is that we also print the err code so error conditions should be pretty obvious. regards, dan carpenter From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: Re: [f2fs-dev] [patch] f2fs: dereferencing an ERR_PTR Date: Sun, 26 May 2013 23:41:16 +0300 Message-ID: <20130526204116.GE23932@mwanda> References: <20130523100213.GA19107@elgon.mountain> <51A224AB.8010209@bfs.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1Ughl5-0007pi-1s for linux-f2fs-devel@lists.sourceforge.net; Sun, 26 May 2013 20:41:39 +0000 Received: from userp1040.oracle.com ([156.151.31.81]) by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) id 1Ughl4-0008Ax-5e for linux-f2fs-devel@lists.sourceforge.net; Sun, 26 May 2013 20:41:39 +0000 Content-Disposition: inline In-Reply-To: <51A224AB.8010209@bfs.de> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net To: walter harms Cc: kernel-janitors@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net On Sun, May 26, 2013 at 05:05:15PM +0200, walter harms wrote: > > > Am 23.05.2013 12:02, schrieb Dan Carpenter: > > There is an error path where "dir" is an ERR_PTR. > > > > Signed-off-by: Dan Carpenter > > > > diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c > > index 5148d90..921aede 100644 > > --- a/fs/f2fs/recovery.c > > +++ b/fs/f2fs/recovery.c > > @@ -71,7 +71,8 @@ static int recover_dentry(struct page *ipage, struct inode *inode) > > out: > > f2fs_msg(inode->i_sb, KERN_NOTICE, "recover_inode and its dentry: " > > "ino = %x, name = %s, dir = %lx, err = %d", > > - ino_of_node(ipage), raw_inode->i_name, dir->i_ino, err); > > + ino_of_node(ipage), raw_inode->i_name, > > + IS_ERR(dir) ? 0 : dir->i_ino, err); > > return err; > > } > > > I am not an expert on this matter so a simple question: > dir->i_ino==0 is not valid ? That is a valid question. The trick is that we also print the err code so error conditions should be pretty obvious. regards, dan carpenter ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may