diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index 1bcf712655d90a6001db4e8de8e86cfa3a70187d..62d2342eb26795cb5e05d0546c17a2d4b69c5bcf 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -1590,7 +1590,7 @@ static int set_request_path_attr(struct inode *rinode, struct dentry *rdentry,
 	} else if (rpath || rino) {
 		*ino = rino;
 		*ppath = rpath;
-		*pathlen = strlen(rpath);
+		*pathlen = rpath ? strlen(rpath) : 0;
 		dout(" path %.*s\n", *pathlen, rpath);
 	}