summaryrefslogtreecommitdiffstats
path: root/fs/gfs2
diff options
context:
space:
mode:
authorAbhi Das <adas@redhat.com>2014-03-12 03:41:44 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2014-03-12 09:50:27 +0000
commit48f8f711edf3868fe4faa28a19f07acb43532c4a (patch)
tree0e6f5f96792c6173792d16b1b7fe9c92b5c08998 /fs/gfs2
parentcb94eb066e089da461d37fea39779606512e144a (diff)
downloadlinux-48f8f711edf3868fe4faa28a19f07acb43532c4a.tar.gz
linux-48f8f711edf3868fe4faa28a19f07acb43532c4a.tar.bz2
linux-48f8f711edf3868fe4faa28a19f07acb43532c4a.zip
GFS2: check NULL return value in gfs2_ok_to_move
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 <adas@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r--fs/gfs2/inode.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index ec455b92091f..b52ebf8553c2 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;