Commit d8b16b3d authored by Sage Weil's avatar Sage Weil
Browse files

ceph: fix bad pointer dereference in ceph_fill_trace



We dereference *in a few lines down, but only set it on rename.  It is
apparently pretty rare for this to trigger, but I have been hitting it
with a clustered MDSs.

Signed-off-by: default avatarSage Weil <sage@newdream.net>
parent df9f86fa
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1055,7 +1055,8 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req,
		ininfo = rinfo->targeti.in;
		vino.ino = le64_to_cpu(ininfo->ino);
		vino.snap = le64_to_cpu(ininfo->snapid);
		if (!dn->d_inode) {
		in = dn->d_inode;
		if (!in) {
			in = ceph_get_inode(sb, vino);
			if (IS_ERR(in)) {
				pr_err("fill_trace bad get_inode "