From: NeilBrown Date: Mon, 19 Mar 2012 01:46:37 +0000 (+1100) Subject: md/bitmap: ensure to load bitmap when creating via sysfs. X-Git-Tag: v3.2.14~81 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=aae19423e23df33f18e49f7558cb660aa485df90;p=karo-tx-linux.git md/bitmap: ensure to load bitmap when creating via sysfs. commit 4474ca42e2577563a919fd3ed782e2ec55bf11a2 upstream. When commit 69e51b449d383e (md/bitmap: separate out loading a bitmap...) created bitmap_load, it missed calling it after bitmap_create when a bitmap is created through the sysfs interface. So if a bitmap is added this way, we don't allocate memory properly and can crash. This is suitable for any -stable release since 2.6.35. Signed-off-by: NeilBrown Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c index 6d03774b176e..2a8722b9f91b 100644 --- a/drivers/md/bitmap.c +++ b/drivers/md/bitmap.c @@ -1904,6 +1904,8 @@ location_store(struct mddev *mddev, const char *buf, size_t len) if (mddev->pers) { mddev->pers->quiesce(mddev, 1); rv = bitmap_create(mddev); + if (!rv) + rv = bitmap_load(mddev); if (rv) { bitmap_destroy(mddev); mddev->bitmap_info.offset = 0;