Re: [PATCH stable] md/bitmap: return an error when bitmap superblock is corrupt.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxx (v3.5..v4.1)

Thanks!  Queuing it for the 3.16 kernel.

Cheers,
--
Luís

> Signed-off-by: NeilBrown <neilb@xxxxxxxx>
> Reported-by: GuoQing Jiang <gqjiang@xxxxxxxx>
> 
> 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@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]