Re: [patch] f2fs: dereferencing an ERR_PTR

Dan Carpenter
2013-05-26T20:41:16Z

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 <dan.carpenter@oracle.com>
> >
> > 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