diff options
author | majianpeng <majianpeng@gmail.com> | 2013-06-25 14:48:19 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-01-09 12:24:25 -0800 |
commit | d5f9a684f9f21324fa58e97be127589db6c06a56 (patch) | |
tree | d83fa26b5bf6225288db1e0f8ea540f032ae76a3 /fs | |
parent | 9a640548c96a4cc18394550ecce2241186f7357f (diff) | |
download | linux-3.10-d5f9a684f9f21324fa58e97be127589db6c06a56.tar.gz linux-3.10-d5f9a684f9f21324fa58e97be127589db6c06a56.tar.bz2 linux-3.10-d5f9a684f9f21324fa58e97be127589db6c06a56.zip |
ceph: Free mdsc if alloc mdsc->mdsmap failed.
commit fb3101b6f0db9ae3f35dc8e6ec908d0af8cdf12e upstream.
Signed-off-by: Jianpeng Ma <majianpeng@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ceph/mds_client.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 1ce14c18c46..63c789eb1e3 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -3044,8 +3044,10 @@ int ceph_mdsc_init(struct ceph_fs_client *fsc) fsc->mdsc = mdsc; mutex_init(&mdsc->mutex); mdsc->mdsmap = kzalloc(sizeof(*mdsc->mdsmap), GFP_NOFS); - if (mdsc->mdsmap == NULL) + if (mdsc->mdsmap == NULL) { + kfree(mdsc); return -ENOMEM; + } init_completion(&mdsc->safe_umount_waiters); init_waitqueue_head(&mdsc->session_close_wq); |