lkml.org 
[lkml]   [2015]   [Aug]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH stable] md/bitmap: return an error when bitmap superblock is corrupt.
On Fri, Aug 14, 2015 at 05:04:21PM +1000, NeilBrown wrote:
>
> commit b97e92574c0bf335db1cd2ec491d8ff5cd5d0b49 upstream
> Use separate bitmaps for each nodes in the cluster
>
> bitmap_read_sb() validates the bitmap superblock that it reads in.
> If it finds an inconsistency like a bad magic number or out-of-range
> version number, it prints an error and returns, but it incorrectly
> returns zero, so the array is still assembled with the (invalid) bitmap.
>
> This means it could try to use a bitmap with a new version number which
> it therefore does not understand.
>
> This bug was introduced in 3.5 and fix as part of a larger patch in 4.1.
> So the patch is suitable for any -stable kernel in that range.
>
> Fixes: 27581e5ae01f ("md/bitmap: centralise allocation of bitmap file pages.")
> Cc: stable@vger.kernel.org (v3.5..v4.1)

Thanks! Queuing it for the 3.16 kernel.

Cheers,
--
Luís

> Signed-off-by: NeilBrown <neilb@suse.com>
> Reported-by: GuoQing Jiang <gqjiang@suse.com>
>
> diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
> index 3a5767968ba0..894fd58f75f1 100644
> --- a/drivers/md/bitmap.c
> +++ b/drivers/md/bitmap.c
> @@ -577,6 +577,8 @@ static int bitmap_read_sb(struct bitmap *bitmap)
> if (err)
> return err;
>
> + err = -EINVAL;
> +
> sb = kmap_atomic(sb_page);
>
> chunksize = le32_to_cpu(sb->chunksize);
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html


\
 
 \ /
  Last update: 2015-08-25 12:41    [W:0.194 / U:0.908 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site