]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ceph: fix NULL dereference in ceph_queue_cap_snap()
authorYan, Zheng <zyan@redhat.com>
Wed, 15 Jun 2016 12:51:22 +0000 (20:51 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 28 Jul 2016 00:55:40 +0000 (02:55 +0200)
old_snapc->seq is used in dout(...)

Signed-off-by: Yan, Zheng <zyan@redhat.com>
fs/ceph/snap.c

index 9caaa7ffc93fe06876283367d78c3573512c7549..eadf2c33edc65f7ab67030abd7db7a974e9085a1 100644 (file)
@@ -551,7 +551,6 @@ void ceph_queue_cap_snap(struct ceph_inode_info *ci)
        ci->i_wrbuffer_ref_head = 0;
        capsnap->context = old_snapc;
        list_add_tail(&capsnap->ci_item, &ci->i_cap_snaps);
-       old_snapc = NULL;
 
        if (used & CEPH_CAP_FILE_WR) {
                dout("queue_cap_snap %p cap_snap %p snapc %p"
@@ -563,6 +562,7 @@ void ceph_queue_cap_snap(struct ceph_inode_info *ci)
                __ceph_finish_cap_snap(ci, capsnap);
        }
        capsnap = NULL;
+       old_snapc = NULL;
 
 update_snapc:
        if (ci->i_head_snapc) {