aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorDmitry Monakhov <dmonakhov@openvz.org>2007-10-19 17:38:37 -0400
committerAlasdair G Kergon <agk@redhat.com>2007-10-19 21:00:59 -0400
commit55b42c5ae9c048de25233434afc7b71b01bee9e6 (patch)
tree872a9e8cd132f89ed29ba242e53f5877702cbb17 /drivers/md
parent027d50f92ea26fd065aeb141ebfcbbbe010825e3 (diff)
dm crypt: drop device ref in ctr error path
Add a missing 'dm_put_device' in an error path in crypt target constructor. Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: Milan Broz <mbroz@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/dm-crypt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 64fee90bb68b..ecd9ef0418cd 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -861,7 +861,7 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)
861 cc->iv_mode = kmalloc(strlen(ivmode) + 1, GFP_KERNEL); 861 cc->iv_mode = kmalloc(strlen(ivmode) + 1, GFP_KERNEL);
862 if (!cc->iv_mode) { 862 if (!cc->iv_mode) {
863 ti->error = "Error kmallocing iv_mode string"; 863 ti->error = "Error kmallocing iv_mode string";
864 goto bad5; 864 goto bad_iv_mode;
865 } 865 }
866 strcpy(cc->iv_mode, ivmode); 866 strcpy(cc->iv_mode, ivmode);
867 } else 867 } else
@@ -870,6 +870,8 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)
870 ti->private = cc; 870 ti->private = cc;
871 return 0; 871 return 0;
872 872
873bad_iv_mode:
874 dm_put_device(ti, cc->dev);
873bad5: 875bad5:
874 bioset_free(cc->bs); 876 bioset_free(cc->bs);
875bad_bs: 877bad_bs: