diff options
author | Yan, Zheng <zyan@redhat.com> | 2016-06-15 08:51:22 -0400 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2016-07-27 20:55:40 -0400 |
commit | fce8515741dfb6a233927262555295788ad22ca7 (patch) | |
tree | fcd383bba57d18d30bc6a983c2137d4908064fb8 /fs/ceph/snap.c | |
parent | 9a5530c63889ac928a45c4645ab0bc23b4fbfcb8 (diff) |
ceph: fix NULL dereference in ceph_queue_cap_snap()
old_snapc->seq is used in dout(...)
Signed-off-by: Yan, Zheng <zyan@redhat.com>
Diffstat (limited to 'fs/ceph/snap.c')
-rw-r--r-- | fs/ceph/snap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/snap.c b/fs/ceph/snap.c index 9caaa7ffc93f..eadf2c33edc6 100644 --- a/fs/ceph/snap.c +++ b/fs/ceph/snap.c | |||
@@ -551,7 +551,6 @@ void ceph_queue_cap_snap(struct ceph_inode_info *ci) | |||
551 | ci->i_wrbuffer_ref_head = 0; | 551 | ci->i_wrbuffer_ref_head = 0; |
552 | capsnap->context = old_snapc; | 552 | capsnap->context = old_snapc; |
553 | list_add_tail(&capsnap->ci_item, &ci->i_cap_snaps); | 553 | list_add_tail(&capsnap->ci_item, &ci->i_cap_snaps); |
554 | old_snapc = NULL; | ||
555 | 554 | ||
556 | if (used & CEPH_CAP_FILE_WR) { | 555 | if (used & CEPH_CAP_FILE_WR) { |
557 | dout("queue_cap_snap %p cap_snap %p snapc %p" | 556 | dout("queue_cap_snap %p cap_snap %p snapc %p" |
@@ -563,6 +562,7 @@ void ceph_queue_cap_snap(struct ceph_inode_info *ci) | |||
563 | __ceph_finish_cap_snap(ci, capsnap); | 562 | __ceph_finish_cap_snap(ci, capsnap); |
564 | } | 563 | } |
565 | capsnap = NULL; | 564 | capsnap = NULL; |
565 | old_snapc = NULL; | ||
566 | 566 | ||
567 | update_snapc: | 567 | update_snapc: |
568 | if (ci->i_head_snapc) { | 568 | if (ci->i_head_snapc) { |