From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Wed, 12 Mar 2014 13:08:19 +0000 Subject: [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move In-Reply-To: <1485446650.13055578.1394621987396.JavaMail.zimbra@redhat.com> References: <1394613704-30146-1-git-send-email-adas@redhat.com> <1394618600.2729.37.camel@menhir> <1485446650.13055578.1394621987396.JavaMail.zimbra@redhat.com> Message-ID: <1394629699.2729.50.camel@menhir> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, On Wed, 2014-03-12 at 06:59 -0400, Abhijith Das wrote: > Err... a heads up: We might have to revise this patch. I just ran fsck on the fs > after cleanly unmounting it and it came back with a bunch of errors complaining > about inodes missing '.' and '..' directories. I haven't looked at the fsck > log in detail, but I'll know more when I investigate it later today. > > Holding off on posting RHEL6/7 versions of this patch. > > Cheers! > --Abhi > Ok... I'd be surprised if they were related though, since the new test just aborts the rename without doing anything in that one particular case, Steve. > ----- Original Message ----- > > From: "Steven Whitehouse" > > To: "Abhi Das" > > Cc: cluster-devel at redhat.com > > Sent: Wednesday, March 12, 2014 5:03:20 AM > > Subject: Re: [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move > > > > Hi, > > > > On Wed, 2014-03-12 at 03:41 -0500, Abhi Das wrote: > > > gfs2_lookupi() can return NULL if the path to the root is broken by > > > another rename/rmdir. In this case gfs2_ok_to_move() must check for > > > this NULL pointer and return error. > > > > > > Resolves: rhbz#1060246 > > > Signed-off-by: Abhi Das > > > > Thanks for the patch. I've added it to the -nmw tree, > > > > Steve. > > > > > --- > > > fs/gfs2/inode.c | 4 ++++ > > > 1 file changed, 4 insertions(+) > > > > > > diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c > > > index ec455b9..b52ebf8 100644 > > > --- a/fs/gfs2/inode.c > > > +++ b/fs/gfs2/inode.c > > > @@ -1299,6 +1299,10 @@ static int gfs2_ok_to_move(struct gfs2_inode *this, > > > struct gfs2_inode *to) > > > } > > > > > > tmp = gfs2_lookupi(dir, &gfs2_qdotdot, 1); > > > + if (!tmp) { > > > + error = -ENOENT; > > > + break; > > > + } > > > if (IS_ERR(tmp)) { > > > error = PTR_ERR(tmp); > > > break; > > > > > >