Hi, Andreas pointed this bug out yesterday:
Function gfs2_inode_lookup was dereferencing the inode, and after, it checks for the value being NULL. We need to check that first. Signed-off-by: Bob Peterson <rpete...@redhat.com> --- diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 57b3dbf..ed3f3615 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -113,12 +113,12 @@ struct inode *gfs2_inode_lookup(struct super_block *sb, unsigned int type, int error; inode = iget_locked(sb, (unsigned long)no_addr); - ip = GFS2_I(inode); - ip->i_no_addr = no_addr; - if (!inode) return ERR_PTR(-ENOMEM); + ip = GFS2_I(inode); + ip->i_no_addr = no_addr; + if (inode->i_state & I_NEW) { struct gfs2_sbd *sdp = GFS2_SB(inode); ip->i_no_formal_ino = no_formal_ino;